带有一些选项的UNIX for循环
我有一个循环:带有一些选项的UNIX for循环,unix,Unix,我有一个循环: for mnt `cat $file.txt` do grep -h -i -A 3 -B 4 *log | grep -v "10001" >> extrafile.txt done -A3和-B4是什么意思 A之后和B之前,然后是en之后的行数。在什么之前和之后? 难怪grep会让人困惑:您没有提到您正在搜索的“${mnt}”。当我改进您的脚本时(将输入和输出移到末尾、循环之外,并使用${mnt}),脚本如下所示 while re
for mnt `cat $file.txt`
do
grep -h -i -A 3 -B 4 *log | grep -v "10001" >> extrafile.txt
done
-A3和-B4是什么意思 A之后和B之前,然后是en之后的行数。在什么之前和之后? 难怪grep会让人困惑:您没有提到您正在搜索的“${mnt}”。当我改进您的脚本时(将输入和输出移到末尾、循环之外,并使用${mnt}),脚本如下所示
while read -r mnt; do
grep -h -i -A 3 -B 4 "${mnt}" *log | grep -v "10001"
done < "${file.txt}" >> extrafile.txt
读取时-r mnt;做
grep-h-i-a3-b4“${mnt}”*log|grep-v“10001”
完成<“${file.txt}”>>extrafile.txt
您可以从$file.txt获取每个命中的上下文,并使用10001删除所有行 看-A
和-B
允许您指定匹配行前后要打印的行数。