如何在 aix 中使用多个 sed 命令?

Sri*_*m P 1 sed aix

我想搜索一个模式,我需要该模式的下一行。

在 Linux 中,我尝试过如下,并且成功了。

sed -n '/pattern/{N;p}' ouputfile.txt
Run Code Online (Sandbox Code Playgroud)

但是在 AIX 中,这不起作用并抛出错误

0602-404 无法解析函数

如何在 AIX 中实现这一点?

小智 5

p在 `}' 之前缺少一个分号

sed -n '/pattern/{N;p;}' ouputfile.txt
Run Code Online (Sandbox Code Playgroud)

你也可以把它串成多个-e命令:

sed -n -e '/pattern/{' -e 'N;p' -e '}' ouputfile.txt
Run Code Online (Sandbox Code Playgroud)

最安全和最清晰的方法是跨行布局,因为这种方法使您可以在 sed 代码中放置内嵌注释:

sed -ne '
    # lines matching pattern
    /pattern/{
        N;      # grab the next line into the pattern space
        p;      # print the pattern space holding the current+next line
    }
' outputfile.txt
Run Code Online (Sandbox Code Playgroud)

(不要忘记/和命令;之间的中间)Np#