在AIX上使用追加模式sed

问题描述 投票:0回答:1

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

很简单:我有一个tmptest.txt。

1
2
3
4
5

而我想要的是:

1
2
10
3
4
5

这样我就可以了解它在AIX上是如何工作的。

在Linux上,我可以做

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

它的工作原理。在AIX上,我知道我们必须做一个工作,因为没有-i。但是即使在看了其他的主题,比如 在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时,什么也没发生。

先谢谢你了。

design-patterns sed append aix
1个回答
0
投票

AIX!sed不支持GNU-extension,只支持严格的Posix-格式(包括在 a\ 部分)。) 例如:

sed '/pattern/a\
insert after pattern
/pattern2/i\
insert before pattern2 - first line\
insert before pattern2 - second line'
© www.soinside.com 2019 - 2024. All rights reserved.