【问题标题】:Using an append pattern sed on AIX在 AIX 上使用附加模式 sed
【发布时间】:2020-09-28 11:44:49
【问题描述】:

我一直在努力尝试使用 sed 找到一个模式,然后在 AIX 上附加一个字符。 我在 Linux 上完全没有问题,但我真的不明白它应该如何在 AIX 上工作。

非常简单: 我有一个 /tmp/test.txt :

1
2
3
4
5

我想要:

1
2
10
3
4
5

以便我了解它在 AIX 上的工作原理。

在Linux上,我可以做到

sed -i '/2/ a 10\' /tmp/test.txt

它有效。在 AIX 上,我知道我们必须解决问题,因为没有 -i。但即使在看过其他主题之后 Find pattern and append in sed

我按照他们的例子试过了

cat /tmp/test.txt | sed '/2/i\10' > /tmp/test.temp
cat /tmp/test.txt | sed '\|"2"|i\10' > /tmp/test.temp 

可能还有十几个其他组合,但我得到了一些无法解析的东西,或者它没有被重新整合为一个函数。或者它可以运行,但是当我查看 test.temp 时,什么也没发生。

提前致谢,

【问题讨论】:

    标签: sed append aix


    【解决方案1】:

    AIX!sed 不支持 GNU 扩展,仅支持严格的 Posix 格式(包括 a\ 部分之后的换行符)。例如:

    sed '/pattern/a\
    insert after pattern
    /pattern2/i\
    insert before pattern2 - first line\
    insert before pattern2 - second line'
    

    【讨论】:

    • 所以看来我必须在回车后在下一行写下我想要的内容。它有效。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-06-18
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 2021-03-21
    相关资源
    最近更新 更多