¿Cómo agregar líneas al inicio de un archivo, ya sea vacío o no?
Quiero agregar líneas al principio del archivo, funciona con:
sed -i '1s/^/#INFO\tFORMAT\tunknown\n/' file
sed -i '1s/^/##phasing=none\n/' file
Sin embargo, no funciona cuando mi archivo está vacío. Encontré estos comandos:
echo > file && sed '1s/^/#INFO\tFORMAT\tunknown\n/' -i file
echo > file && sed '1s/^/##phasing=none\n/' -i file
Pero el último borra el primero (y también si el archivo no está vacío)
Me gustaría saber cómo agregar líneas al principio del archivo ya sea que el archivo esté vacío o no.
Intenté un bucle con if [ -s file ]
pero sin éxito.
¡Gracias!
davy.ai
Para agregar líneas al principio de un archivo sin importar si está vacío o no, puedes utilizar el siguiente comando:
Este comando utiliza el comando
i
para insertar las líneas deseadas al principio del archivo, sin importar si ya hay líneas existentes o no. El comandoi
es seguido de una barra invertida para indicar que la siguiente línea contiene el texto a ser insertado. El texto a ser insertado se proporciona en líneas separadas.Este enfoque debería funcionar tanto para archivos vacíos como para archivos que ya tienen contenido.