GNU/Linux >> Tutoriales Linux >  >> Linux

Agregar un encabezado a un archivo delimitado por tabulaciones

Personalmente iría con nano -w file.txt;-) (es decir, solo use un editor de texto, no tiene que ser nano, por supuesto)

Pero si quisiera hacer esto en un entorno no interactivo por alguna razón, puede usar cat para todo tipo de concatenaciones:

echo $'name\tage\tuniversity\tcity' | cat - file.txt > file2.txt

antepondrá el encabezado y colocará la salida en file2.txt . Si desea sobrescribir el archivo original, puede hacerlo con

echo $'name\tage\tuniversity\tcity' | cat - file.txt > file2.txt; mv file{2,}.txt

O podrías usar sed de la siguiente manera:

sed -i $'1 i\\\nname\tage\tuniversity\tcity' file.txt

Tenga en cuenta que estoy usando $'...' citando para permitirme usar \t para representar la pestaña y \n para representar una nueva línea (entre otras sustituciones; consulte la página de manual de bash para obtener más información). En este tipo de cadena entre comillas, \\ representa una barra invertida literal. Así que el programa pasado a sed es en realidad

1 i\
name    age     university      city

No hay un operador de "anteponer" como el operador de "añadir" >> , pero puede escribir el encabezado en un archivo temporal, copiar el contenido de su archivo en el archivo temporal después de eso y moverlo hacia atrás:

echo -e "name\tage\tuniversity\tcity" | cat - yourfile > /tmp/out && mv /tmp/out yourfile

$ { printf 'name\tage\tuniversity\tcity\n'; cat orig-file; } > new-file

O

$ printf '1\ni\nname\tage\tuniversity\tcity\n.\nw\n' | ed -s orig-file

Linux
  1. Cómo agregar números de línea a archivos de texto en Linux

  2. Bash:agregue una cadena al final del archivo sin salto de línea

  3. ¿Cómo verificar si un archivo está vacío en Bash?

  4. ¿Cómo convertir ISO8859-15 a UTF8?

  5. Convertir todas las extensiones de archivo a minúsculas

Cómo agregar un archivo de intercambio en Ubuntu 20.04

Vi y Vim Autocommand:3 pasos para agregar un encabezado personalizado a su archivo automáticamente

Ordenar un archivo delimitado por tabulaciones

Script de shell de Linux para agregar ceros iniciales a los nombres de archivo

¿Escribir en un archivo .txt?

Agregar una columna de valores en un archivo delimitado por tabulaciones