我尝试替换匹配模式后的 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/;}'