GNU/Linux >> Znalost Linux >  >> Linux

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

V tomto článku uvidíme různé způsoby, jak přidat záznam záhlaví nebo záznam přívěsu do souboru.

Uvažujme soubor, soubor1.

$ cat file1
apple
orange
grapes
banana

Přidání řádku na začátek souboru (záhlaví)

1. Chcete-li přidat záznam záhlaví pomocí sed:

$ sed '1i some text at the beginning' file1
some text at the beginning
apple
orange
grapes
banana

„1i“ v sed obsahuje (i) řádek nějaký text na začátku pouze před prvním řádkem (1) souboru. Výše uvedený příkaz zobrazí obsah souboru spolu se záhlavím bez aktualizace souboru. Chcete-li aktualizovat samotný původní soubor, použijte volbu -i sed, jak je uvedeno níže:

$ sed -i.bkp '1i some text at the beginning' file1

Volba -i.bkp vytvoří záložní soubor s názvem file1.bkp před provedením jakýchkoli změn v původním souboru. Přípona .bkp může být jakákoliv dle vašeho výběru.

2. Pro vložení řádku záhlaví můžete také použít tento příklad sed:

$ sed '1s/^/some text at the beginning\n/' file1

„1“ označuje číslo řádku, které se bude shodovat pouze při provádění substituce příkazem „s“. Symbol „^“ označuje začátek řádku. Všimněte si také konce řádku „\n“ přidaného na konec, což pomáhá vytisknout nový řádek po nahrazení.

3. Můžete také použít příkaz cat s příkazem bash printf k přidání řádku na začátek souboru.

$ printf '%b' 'some text at the beginning\n' | cat - file1

4. Chcete-li přidat záznam záhlaví do souboru pomocí awk:

$ awk 'BEGIN{print "some text at the beginning"}1' file1
some text at the beginning
apple
orange
grapes
banana

BEGIN příkaz v awk vytvoří na začátku příkazu nějaký text, který se před zpracováním souboru vytiskne, a proto se ve výstupu objeví záhlaví. 1 znamená, že se má vytisknout každý řádek souboru.

Přidání řádku na konec souboru (trailer)

1. Nejjednodušší ze všech příkazů je zde jednoduchý pomocí přesměrování k připojení řádku na konec souboru. Například:

$ echo "some text at the end" >> file1

2. Chcete-li přidat záznam přívěsu do souboru pomocí sed:

$ sed '$a some text at the end' file1
apple
orange
grapes
banana
some text at the end

$a přiměje sed připojit(a) k příkazu nějaký text na konec pouze za poslední řádek($) souboru.

3. Chcete-li přidat záznam upoutávky do souboru pomocí awk:

$ awk '1;END{print "some text at the end"}' file
apple
orange
grapes
banana
some text at the end

END label provede tisk výpisu až po zpracování souboru. 1 je tisknout každý řádek. 1 ve skutečnosti znamená pravda.

sed na MAC OSX

sed se na MAC OS chová trochu jinak ve srovnání s GNU sed. Můžete zkusit níže uvedený příklad pro přidání řádku záhlaví do souboru v MAC.

$ sed -i '.bak' '1s/^/some text at the beginning\'$'\n/g' file1


Linux
  1. Jak přidat text na konec souboru v Linuxu

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

  3. Jak rozdělit a kombinovat soubory z příkazového řádku v Linuxu

  1. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

  2. Jak počítat počet řádků v souboru v Linuxu (příklady wc a nl)

  3. Jak převést konce řádků v textovém souboru mezi formáty Windows a Unix/Linux?

  1. Jak přesměrovat výstup do souboru a Stdout v Linuxu

  2. Jak extrahovat soubory .gz a .tar.gz v Linuxu

  3. Jak snadno přidat text na konec souboru v Linuxu