¿Cómo puedo reemplazar todas las líneas nuevas con espacio excepto la última línea nueva? Puedo reemplazar toda la nueva línea al espacio usando, tr
pero ¿cómo puedo hacerlo con algunas excepciones?
bash
shell-script
text-processing
tr
Gilles 'SO- deja de ser malvado'
fuente
fuente
-s
y-d
parecen estar hechas para este caso.Puede usar
tr
para reemplazar todas las nuevas líneas al espacio y pasar la salidased
y reemplazar el último espacio a una nueva línea:fuente
Vuelva a implementar la idea de vonbrand en Perl, siempre que el archivo sea lo suficientemente pequeño:
fuente
Algo como
sed -e 's;\n\(.\); \1;'
debería hacer ...fuente
Esto funcionó para mí.
fuente
tr
comando reemplaza todas las líneas nuevas con espacios y sused
comando elimina el último espacio. Esto da como resultado un archivo sin una nueva línea final y, por lo tanto, no es lo que la pregunta está pidiendo. Por cierto, no tiene sentido usarg
en elsed
comando. Como estás usando$
, solo puede coincidir al final, nog
tiene sentido. Tampoco necesita escapar del espacio, el `` tampoco hace diferencia.