Modifique o teste após a sequência em vários arquivos

0

Acho que devo usar sed , mas não consigo solucioná-lo corretamente.

Eu tenho uma pasta cheia de arquivos de texto. Eles são todos construídos da mesma forma, com uma lista de variáveis, por exemplo,

NAME=John
AGE=30
CODE=xyz

Eu preciso examinar todos os arquivos e modificar o valor de uma variável, como CODE, para algo. Então, file1.txt - altere CODE=xyz para CODE=123 file2.txt - altera CODE=foo para CODE=123

O que eu mudar para TO será o mesmo para todos os arquivos.

O sed é o melhor para isso?

    
por Preston Cole 09.12.2017 / 19:26

1 resposta

1

Isso deve ser capaz de alterar esses valores:

find /path/to/foler/ -type f -exec sed 's/CODE=.../CODE=123/' {} \;

A execução do código acima não alterará nada, mas permitirá que você veja o que é alterado. Para obtê-lo para chantrar esses valores, adicione o -i flag:

find /path/to/folder/ -type f -exec sed -i 's/CODE=.../CODE=123/' {} \;

Backups também são possíveis, mas com o tipo de tamanho, sua conversa sobre isso pode não ser uma boa ideia.

Informação:

  • ... : representa apenas três letras ou caracteres, então . será para um
  • -type f : estamos procurando apenas arquivos
  • -i : altere os valores no local
por George Udosen 09.12.2017 / 19:52