Personalmente vorrei andare con nano -w file.txt
;-) (cioè basta usare un editor di testo, non deve essere nano ovviamente)
Ma se si voleva fare questo in un ambiente non interattivo, per qualche motivo, è possibile utilizzare cat
per tutti i tipi di concatenazioni:
echo $'name\tage\tuniversity\tcity' | cat - file.txt > file2.txt
anteporre l'intestazione e inserire l'output in file2.txt
. Se si desidera sovrascrivere il file originale si può fare con
echo $'name\tage\tuniversity\tcity' | cat - file.txt > file2.txt; mv file{2,}.txt
Oppure si potrebbe usare sed
come segue:
sed -i $'1 i\\\nname\tage\tuniversity\tcity' file.txt
Nota che sto usando $'...'
citando a mi permette di utilizzare \t
a rappresenta la scheda 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 un letterale backslash. Così il programma passato a sed è in realtà
1 i\
name age university city
fonte
2012-10-15 19:45:05
Stai chiedendo come mettere la riga di testo/intestazione all'inizio del file? – newfurniturey
sì. Posso vederti già risposto. Grazie. – Dnaiel