Edição de sed-in do AIX

2

Existe algum sinalizador não documentado na implementação do AIX que permite a edição no local? A página man não mostra nenhum sinalizador para esta operação, que é uma das mais úteis em outros sabores do UNIX.

    
por danielbmeireles 30.01.2014 / 15:17

3 respostas

3

Isso não é possível no AIX mesmo com a ferramenta sed instalada.
Você precisa usar um arquivo temporário como sugerido por terdon
Você também pode usar ed , que faz a edição em linha.

    
por 30.01.2014 / 15:28
2

você pode usar perl para fazer isso:

perl -p -i.bak -e 's/old/new/g' test.txt

Vai criar um arquivo .bak .

Ou sem um arquivo .bak :

perl -pi -e  's/old/new/g' test.txt

Ou instale sed-4.1.1 RPM de aqui .

    
por 20.11.2015 / 10:47
0
  1. Defina uma variável e use um subshell para executar sed e redirecionar para um arquivo. Muito importante use " (aspas duplas) para proteger a variável $value :

    value=$(sed 's/old/new/g' file) && echo "$value" > file
    

Ou

  1. Execute echo com um subshell que você vai executar 'sed' e redirecione para um arquivo:

    echo "$(sed 's/old/new/g' file)" > file
    
por 01.03.2016 / 15:24

Tags