比如:
[FetionSVN:/Fetion_HD_Document]
@Fetion_HD_Document_g = rw
@admin_g = rw
通过查找@admin_g,来得到FetionSVN:/Fetion_HD_Document
shell如何写?
#!/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
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 "\[.*\]"
这行是什么意思?输出什么?感觉这行有点问题呢,谢谢!
第一张是shell小脚本,第二张是一个需要查询的文件,第三张是执行结果
这句话的意思是:查看c.txt 过滤 admin_g -C 是指示前后多少张,这里定义一个变量。再从前后行中查找[]符号\是转义
温馨提示:答案为网友推荐,仅供参考