Agregar la salida de sed a un archivo

Agregar la salida de sed a un archivo

Tengo dos archivos con script, digamos file1y file2. Quiero tomar el contenido de file1, cambiar el carácter aa Ain file1y agregar la salida file2sin modificar el contenido de file1. Estoy intentando con:

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

pero esto simplemente cambia el aa Ain file1.

Respuesta1

Simplemente quita la -ibandera:

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

La -ibandera se utiliza para editar el archivo especificado en su lugar, por lo que hace precisamente eso en file1. Deman sed:

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

       edit files in place (makes backup if SUFFIX supplied)

La razón por la que no se le agrega nada file2cuando lo usa -ies que >>se usa para agregar stdoutal archivo especificado. Pero como file1se edita en el lugar debido a -i, no se genera ningún resultado, por lo que no se agrega nada a file2.

información relacionada