shell查找某个字符串所在行,之前离它最近的一行含有[]的内容输出
比如:[FetionSVN:/Fetion_HD_Document]@Fetion_HD_Document_g=rw@admin_g=rw通过查找@admin_g,来得到...
比如:
[FetionSVN:/Fetion_HD_Document]
@Fetion_HD_Document_g = rw
@admin_g = rw
通过查找@admin_g,来得到FetionSVN:/Fetion_HD_Document
shell如何写? 展开
[FetionSVN:/Fetion_HD_Document]
@Fetion_HD_Document_g = rw
@admin_g = rw
通过查找@admin_g,来得到FetionSVN:/Fetion_HD_Document
shell如何写? 展开
1个回答
展开全部
#!/bin/bash
NF=$(cat c.txt|wc -l)
count=0
while [ $count -lt $NF ]
do
if [ $(cat c.txt |grep -C $count "@admin_g" |grep "\[.*\]") ];then
cat c.txt |grep -C $count "@admin_g" |grep "\[.*\]"
break
fi
count=`expr $count + 1`
done
这里根据自己需求修改,我这里是查看c.txt 通过查找 admin_g 来查找最近的[ ]内容
追问
报错,说If那行参数太多,老兄能简单解释下不?
cat c.txt |grep -C $count "@admin_g" |grep "\[.*\]"
这行是什么意思?输出什么?感觉这行有点问题呢,谢谢!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询