sed 用于在 AIX 6.1 中匹配模式后替换字符串 2 行

sed 用于在 AIX 6.1 中匹配模式后替换字符串 2 行

我尝试替换匹配模式后的 2 行字符。为此,我使用以下代码:

sed '/some_pattern/{N;N;s/word1/word2/}' /etc/filesystems > /etc/filesystems.tmp && mv -f /etc/filesystems.tmp /etc/filesystems

我测试了这个命令并确认它在 Linux 上运行良好。但是,当我在 AIX 中使用它时,我收到如下错误消息:

sed: Function /some_pattern/{N;N;s/word1/word2/} cannot be parsed.

任何想法?

答案1

AIX sed 需要将每个命令放在单独的行上。看手册页 并尝试

sed '/some_pattern/{
 N
 N
 s/word1/word2/
}'

答案2

这对我有用

sed '/some_pattern/{N;N;s/word1/word2/;}'

相关内容