GNU/Linux >> Linux Esercitazione >  >> Linux

Aggiungi un'intestazione a un file delimitato da tabulazioni

Personalmente sceglierei nano -w file.txt;-) (ovvero usa solo un editor di testo, ovviamente non deve essere nano)

Ma se vuoi farlo in un ambiente non interattivo per qualche motivo, puoi usare cat per tutti i tipi di concatenazioni:

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

anteporrà l'intestazione e inserirà l'output in file2.txt . Se vuoi sovrascrivere il file originale puoi farlo con

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

Oppure potresti usare sed come segue:

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

Nota che sto usando $'...' citando per permettermi di usare \t per rappresentare tab e \n per rappresentare la nuova riga (tra le altre sostituzioni; vedere la pagina man di bash per ulteriori informazioni). In questo tipo di stringa tra virgolette, \\ rappresenta una barra rovesciata letterale. Quindi il programma passato a sed è in realtà

1 i\
name    age     university      city

Non esiste un operatore "prepend" come l'operatore "append" >> , ma puoi scrivere l'intestazione in un file temporaneo, copiare il contenuto del tuo file nel file temporaneo e poi spostarlo indietro:

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

Oppure

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

Linux
  1. Bash:aggiunge una stringa alla fine del file senza interruzioni di riga

  2. Come verificare se un file è vuoto in Bash?

  3. Come convertire ISO8859-15 in UTF8?

  4. Converti tutte le estensioni di file in minuscolo

  5. Prendi l'ennesima colonna in un file di testo

Come aggiungere un file di scambio su Ubuntu 20.04

Vi e Vim Autocommand:3 passaggi per aggiungere automaticamente un'intestazione personalizzata al tuo file

Script della shell di Linux per aggiungere zeri iniziali ai nomi dei file

Scrivere su file .txt?

Riformatta il timestamp in un file delimitato da pipe

formato file password ldapsearch