在HP-UNIX中查找关键字的周围行

时间:2014-01-07 06:55:11

标签: unix grep

我希望在“关键字”之前和之后看到5行,但我收到此错误。 我正在使用HP-UNIX。 任何人都可以帮我这个吗? 谢谢

命令:grep -C 5 Keyword file_name

错误:

grep: illegal option -- C
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] -e pattern_list...
        [-f pattern_file...] [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] [-e pattern_list...]
        -f pattern_file... [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] pattern [file...]

1 个答案:

答案 0 :(得分:0)

以下是模仿awk

grep -C 5
awk '{a[NR]=$0} $0~s {f=NR} END {for (i=f-C;i<=f+C;i++) print a[i]}' C=5 s="Keyword" file_name

PS!只能用一次打击。


这应该模仿grep -C 5以获得更多点击量。 (由于缺少数组排序,有些复杂)

awk '{a[NR]=$0} $0~s {f[NR]++} END {for (j=1;j<=NR;j++) if (f[j]) for (i=j-C;i<=j+C;i++) print a[i]}' C=5 s="Keyword" file_name