OS / 2 grep有一个很好的function,它会显示你n行之前的search项目被发现。 在任何地方有unix的等价物吗?

Solaris是可取的,但我会采取Linux或我可以编译的东西。 这样的野兽是否存在?

您可以从sunfreeware.com获得GNU grep和Solaris的依赖项,可以作为pkg格式的二进制下载文件安装在/ usr / local / bin或作为源包。

就GNU grep而言,这将显示匹配之前的行数:

# grep -B number 

之后等待:

 # grep -A number 

你可以在这里下载GNU Grep: http : //www.gnu.org/s/grep/

一个小的awk脚本也可以工作:

 #!/usr/bin/awk -f BEGIN { context=3; } { add_buffer($0) } /pattern/ { print_buffer() } function add_buffer(line) { buffer[NR % context]=line } function print_buffer() { for(i = max(1, NR-context+1); i <= NR; i++) { print buffer[i % context] } } function max(a,b) { if (a > b) { return a } else { return b } } 

用实际的正则expression式或模式replace/pattern/来search。