Quiero eliminar la nueva línea \n
solo desde el final del archivo en unix
p. salidaEliminar nueva línea del final del archivo
abc
def
ghi
debe ser
abc
def
ghi
En el final del archivo no debe haber una sola \n
Quiero eliminar la nueva línea \n
solo desde el final del archivo en unix
p. salidaEliminar nueva línea del final del archivo
abc
def
ghi
debe ser
abc
def
ghi
En el final del archivo no debe haber una sola \n
En general, herramientas de texto Unix son más felices si hace tienen una nueva línea al fin de la última línea en el archivo. ¿Por qué necesitas quitarlo?
No se puede hacer esto (por lo que yo sé) con awk
, pero es fácil con perl
:
perl -e 'undef $/; $_ = <>; s/\R\z//; print'
EDIT: Años después se me ocurre que podría haber significado "cómo elimino líneas en blanco al final desde el final del archivo "; en otras palabras, es posible que haya querido reducir dos o más líneas consecutivas a una sola, solo al final del archivo. Una vez más esto es más fácil con perl
:
perl -e 'undef $/; $_ = <>; s/\s+\z/\n/; print'
(Esto se Zorch arbitraria detrás espacios en blanco personajes, no sólo los saltos de línea Esto es casi seguro que lo que quiere..)
Puede:
perl -pe 'chomp if eof' file1 > file2
Ejemplo:
$ cat file1
abc
def
ghi
$ perl -pe 'chomp if eof' file1 > file2
$ cat file2
abc
def
ghi$
No puedo eliminar \ n del archivo, del script anterior – Jayashri
Nota, si 'archivo1' es lo mismo que' archivo2' podría borrar el archivo . Ten cuidado. Me sucedió. Afortunadamente, sabía el contenido. –
Esperaría que esto no funcione, al menos no confiablemente, porque 'eof' solo se vuelve verdadero cuando ha intentado leer * pasado el final * del archivo, lo que no necesariamente ha sucedido en el modo' -pe' cuando ' $ _' es la última línea del archivo. – zwol
awk '{if (NR == 1 && $ 0 ~ /> /) {print $ 0; next} if ($ 0 ~/^> /) {print "\ n" $ 0; next} else {printf ("% s" , $ 0)}} 'filename He intentado el script anterior pero está eliminando todo \ n pero quiero que \ n que existe al final del archivo se elimine. – Jayashri
¿Qué idioma? ¿Qué plataforma? – Oded
unix, Probé con awk command script – Jayashri