La solución Perl es similar a la solución sed de sampson-chen :
perl -pe 's/\\n/\n/g'
Ejemplos:
Archivo de entrada con \n literal (no saltos de línea):
$ cat test1.txt
foo\nbar\n\nbaz
Reemplazar literal todas las apariciones de \n
con saltos de línea reales, imprima en STDOUT
:
$ perl -pe 's/\\n/\n/g' test1.txt
foo
bar
baz
Lo mismo, cambie el archivo de entrada en el lugar, guardando la copia de seguridad en test1.txt.bak
:
$ perl -i.bak -pe 's/\\n/\n/g' test1.txt
El one-liner de Perl utiliza estos indicadores de línea de comando:
-e
:Le dice a Perl que busque el código en línea, en lugar de en un archivo.
-p
:Recorra la entrada una línea a la vez, asignándola a $_
por defecto. Agregar print $_
después de cada iteración del bucle.
-i.bak
:edite los archivos de entrada en el lugar (sobrescriba el archivo de entrada). Antes de sobrescribir, guarde una copia de seguridad del archivo original agregando a su nombre la extensión .bak
.
VER TAMBIÉN:
perldoc perlrun
:cómo ejecutar el intérprete de Perl:interruptores de línea de comando
perldoc perlre
:Expresiones regulares de Perl (regexes)
He aquí cómo hacerlo con sed
:
sed 's/\\n/\n/g'
Ejemplo de uso:
Para reemplazar todas las apariciones de \n
en un archivo en el lugar:
sed -i 's/\\n/\n/g' input_filename
Para reemplazar todas las apariciones de \n
a través de una tubería y guardar en otro archivo
cat file1 file2 file3 file4 | sed 's/\\n/\n/g' > output_file