GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Fügen Sie einer tabulatorgetrennten Datei einen Header hinzu

Ich persönlich würde nano -w file.txt wählen;-) (also einfach einen Texteditor verwenden, muss natürlich nicht nano sein)

Wenn Sie dies jedoch aus irgendeinem Grund in einer nicht interaktiven Umgebung tun möchten, können Sie cat verwenden für alle Arten von Verkettungen:

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

wird dem Header vorangestellt und die Ausgabe in file2.txt eingefügt . Wenn Sie die Originaldatei überschreiben möchten, können Sie dies mit

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

Oder Sie könnten sed verwenden wie folgt:

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

Beachten Sie, dass ich $'...' verwende Zitieren, damit ich \t verwenden darf um Tab und \n darzustellen um Zeilenumbrüche darzustellen (neben anderen Ersetzungen; siehe die Bash-Manpage für mehr). In dieser Art von Zeichenfolge in Anführungszeichen \\ steht für einen wörtlichen Backslash. Das an sed übergebene Programm ist also eigentlich

1 i\
name    age     university      city

Es gibt keinen „prepend“-Operator wie den „append“-Operator >> , aber Sie können den Header in eine temporäre Datei schreiben, den Inhalt Ihrer Datei danach in die temporäre Datei kopieren und sie zurück verschieben:

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

Oder

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

Linux
  1. Benennen Sie eine Datei im Linux-Terminal um

  2. So fügen Sie Textdateien unter Linux Zeilennummern hinzu

  3. So fügen Sie einer Datei in Linux Header- und Trailer-Zeile hinzu

  4. Sortieren einer tabulatorgetrennten Datei

  5. Bash:Zeichenfolge ohne Zeilenumbruch am Ende der Datei hinzufügen

So fügen Sie eine Auslagerungsdatei unter Ubuntu 20.04 hinzu

Vi und Vim Autocommand:3 Schritte zum automatischen Hinzufügen von benutzerdefinierten Headern zu Ihrer Datei

CentOS / RHEL:So fügen Sie eine Auslagerungsdatei hinzu

Linux-Shell-Skript zum Hinzufügen führender Nullen zu Dateinamen

In .txt-Datei schreiben?

Hinzufügen einer Spalte mit Werten in einer tabulatorgetrennten Datei