Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有一些选项的UNIX for循环_Unix - Fatal编程技术网

带有一些选项的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
允许您指定匹配行前后要打印的行数。