sed use para substituir as linhas da sequência 2 após o padrão de correspondência no AIX 6.1

0

Eu tento substituir um personagem, 2 linhas após o padrão de correspondência. Para isso, estou usando este código:

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

Eu testei este comando e confirmei que ele está funcionando bem no Linux. No entanto, quando eu uso no AIX, recebo uma mensagem de erro como:

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

Alguma ideia?

    
por JavaRed 30.04.2016 / 09:46

2 respostas

3

O AIX sed precisa de cada comando em uma linha separada. Consulte a página do manual e tente

sed '/some_pattern/{
 N
 N
 s/word1/word2/
}'
    
por 30.04.2016 / 10:07
-1

Isso funciona para mim

sed '/some_pattern/{N;N;s/word1/word2/;}'
    
por 11.07.2016 / 12:39

Tags