Asumamos que tenemos el mismo archivo de ejemplo de mi post anterior llamado dias.txt pero le agregaré unas cuantas líneas en blanco para poder que quede como sigue a continuación:
Lun Mar Mie Jue Vie Sab Dom
Pueden usar cualquiera de los siguientes comandos para borrar todas las líneas vacías del archivo dias.txt: sed, awk o perl
El resultado seria algo como lo siguiente:
Lun Mar Mie Jue Vie Sab Dom
Recuerden que pueden imprimir en pantalla el contenido de dias.txt usando el comando
cat dias.txt
- Gnu/sed:
Usando una regex le indicamos a sed que borre las líneas que no tienen nada entre el principio(^) y el fin($) de dicha linea
podemos escribir el contenido de dias.txt modificado en otro archivo (dias2.txt):sed '/^$/d' dias.txt > dias2.txt #cat dias2.txt
O bien podemos modificar dias.txt directamentesed -i '/^$/d' dias.txt #cat dias.txt
- awk:
Usando awk el comando sería
awk 'NF > 0' dias.txt > dias2.txt #cat dias2.txt
- perl:
El siguiente comando usando perl, borra todas las líneas bacias y guarda el archivo original como dias.txt.bakup, muy practico para evitar perder el archivo original si algo sale mal
perl -i.backup -n -e "print if /\S/" input.txt #cat dias.txt #cat dias.txt.backup
Hasta la próxima.