我从一个目录和该模式之前的4行grep一个模式,我需要进一步grep每个结果的顶行,但不知道怎么做。 请对此提出建议。
问题以示例解释:
在'jagdeep'目录中 有多个不同名称的文件,如20130611和2013400等。 我感兴趣的文件中写的数据是这样的:
[
My name is
.....
......
......
Name has been written above
]
现在在每个实例中“上面写的名称”是以行为单位写的,但值继续改变而不是“我的名字是”所以我想从每次出现时grep这条特定的行。
请建议一些方法来获得结果。
提前致谢。
答案 0 :(得分:0)
a@x:/tmp$ cat namefile
[
My name is
.....
......
......
Name has been written above
]
a@x:/tmp$ cat namefile | grep -B 4 "Name has been written above" | head -1
My name is
其中“4”可以被N替换,即行数目标数据位于grepped线上方
答案 1 :(得分:0)
尝试类似
的内容for file in $(ls <wherever>)
do
# Tell the user which file we're looking at
echo ""
echo $file
echo ""
# Output the first line of the file
head -1 $file
# Output the line continaing <pattern> and the four
# preceding lines
<your grep command here>
done