【问题标题】:aix : To get lines before and after stringaix : 获取字符串前后的行
【发布时间】:2012-05-03 20:04:13
【问题描述】:

我正在使用 AIX,并且我有一个字符串“没有进程可以读取写入管道的数据”。我想得到这个字符串之前的 2 行和之后的 4 行的输出。 该字符串在日志中出现超过 100 次,我想输出,日志中带有此字符串的最后一个结果

我尝试使用:

nawk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=2   a=4 s="There is no process to read data written to a pipe" File.log

此命令的输出是我得到了所有 100 多个结果,其中存在上述字符串

-A number -B number 命令在 AIX 中不起作用

【问题讨论】:

    标签: unix aix


    【解决方案1】:

    如果你有可用的 GNU grep,你可以使用它来代替 awk:

    grep -B 2 -A 4 "There is no process to read data written to a pipe" File.log
    

    【讨论】:

    • GNU grep 不可用
    • 感谢您的回答:|尾号
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多