GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiungere riga di intestazione e trailer a un file in Linux

In questo articolo, vedremo i diversi modi per aggiungere un record di intestazione o un record di trailer a un file.

Consideriamo un file, file1.

$ cat file1
apple
orange
grapes
banana

Aggiunta di una riga all'inizio del file (intestazione)

1. Per aggiungere un record di intestazione utilizzando sed:

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

La '1i' in sed include(i) la riga del testo all'inizio solo prima della prima riga(1) del file. Il comando precedente mostra il contenuto del file insieme all'intestazione senza aggiornare il file. Per aggiornare il file originale stesso, usa l'opzione -i di sed come mostrato di seguito:

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

L'opzione -i.bkp crea un file di backup denominato file1.bkp prima di apportare modifiche al file originale. L'estensione .bkp può essere qualsiasi cosa a tua scelta.

2. Puoi anche usare questo esempio di sed per inserire una riga di intestazione:

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

'1' indica il numero di riga che verrà abbinato solo durante la sostituzione con il comando 's'. Il simbolo '^' indica l'inizio della riga. Nota anche il ritorno a capo '\n' aggiunto alla fine, che aiuta a stampare una nuova riga dopo la sostituzione.

3. Puoi anche usare il comando cat con l'istruzione bash printf per aggiungere una riga all'inizio del file.

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

4. Per aggiungere un record di intestazione a un file utilizzando awk:

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

Il INIZIO istruzione in awk fa in modo che all'inizio venga stampato del testo prima di elaborare il file, e quindi l'intestazione appare nell'output. L'1 sta ad indicare di stampare ogni riga del file.

Aggiunta di una riga alla fine del file (trailer)

1. Il più semplice di tutti i comandi qui è semplice utilizzare il reindirizzamento per aggiungere una riga alla fine del file. Ad esempio:

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

2. Per aggiungere un record trailer a un file utilizzando sed:

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

Il $a fa in modo che il sed aggiunga(a) all'istruzione del testo alla fine solo dopo l'ultima riga($) del file.

3. Per aggiungere un record trailer a un file utilizzando awk:

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

La FINE label fa in modo che l'istruzione print venga stampata solo dopo che il file è stato elaborato. L'1 è quello di stampare ogni riga. 1 in realtà significa vero.

installato su MAC OSX

sed si comporta in modo leggermente diverso su MAC OS, rispetto a GNU sed. Puoi provare sotto sed esempio per aggiungere la riga di intestazione al file in MAC.

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


Linux
  1. Come aggiungere testo alla fine del file in Linux

  2. Come aggiungere numeri di riga a file di testo su Linux

  3. Come dividere e combinare file dalla riga di comando in Linux

  4. Come aggiungere facilmente testo alla fine del file in Linux

  5. Come contare il numero di righe in un file in Linux (esempi di comandi wc e nl)

Come creare directory da un file di testo in Linux

Come aggiungere testo all'inizio del file in Linux

Come trovare le righe più lunghe in un file in Linux

Come creare e utilizzare file di scambio su Linux

Come nascondere cartelle e file in Linux usando un file di testo

Come estrarre il file Tar.xz sulla riga di comando di Linux