GNU/Linux >> Znalost Linux >  >> Linux

Přidejte záhlaví do souboru odděleného tabulátory

Osobně bych zvolil nano -w file.txt;-) (tj. stačí použít textový editor, nemusí to být samozřejmě nano)

Ale pokud to chcete z nějakého důvodu udělat v neinteraktivním prostředí, můžete použít cat pro všechny druhy zřetězení:

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

přidá záhlaví a umístí výstup do file2.txt . Pokud chcete přepsat původní soubor, můžete to udělat pomocí

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

Nebo můžete použít sed takto:

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

Všimněte si, že používám $'...' cituji, abych mohl používat \t reprezentovat tab a \n reprezentovat nový řádek (mimo jiné substituce; více viz manuálová stránka bash). V tomto typu řetězce v uvozovkách \\ představuje doslovné zpětné lomítko. Takže program předaný do sed je ve skutečnosti

1 i\
name    age     university      city

Neexistuje operátor "prepend" jako operátor "append" >> , ale můžete zapsat záhlaví do dočasného souboru, poté zkopírovat obsah souboru do dočasného souboru a přesunout jej zpět:

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

Nebo

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

Linux
  1. CentOS / RHEL :Jak přidat odkládací soubor

  2. Jak přidat záhlaví a řádek upoutávky do souboru v Linuxu

  3. Bash:přidejte řetězec na konec souboru bez zalomení řádku

  1. Jak zkontrolovat, zda je soubor prázdný v Bash?

  2. Jak převést ISO8859-15 na UTF8?

  3. Převeďte všechny přípony souborů na malá písmena

  1. Jak přidat čísla řádků do textových souborů v systému Linux

  2. Vezměte n-tý sloupec v textovém souboru

  3. Přidání sloupce hodnot v souboru odděleném tabulátory