Anexe a saída do sed a um arquivo

Anexe a saída do sed a um arquivo

Eu tenho dois arquivos com script, digamos file1e file2. Quero pegar o conteúdo de file1, alterar o caractere apara Ain file1e anexar a saída file2sem modificar o conteúdo de file1. Estou tentando com:

sed -i ‘s/a/A/g’ file1 >> file2

mas isso apenas muda apara Ain file1.

Responder1

Basta remover a -ibandeira:

sed 's/a/A/g' file1 >> file2

O -isinalizador é usado para editar o arquivo especificado no local, portanto, faz exatamente isso para file1. Deman sed:

-i[SUFFIX], --in-place[=SUFFIX]

       edit files in place (makes backup if SUFFIX supplied)

O motivo pelo qual você não obtém nada anexado file2ao usar -ié que ele >>é usado para anexar stdoutao arquivo especificado. Mas como file1é editado devido a -i, nenhuma saída é gerada, portanto nada é anexado a file2.

informação relacionada