GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiungere testo all'inizio del file in Linux

Gli utenti della riga di comando di Linux hanno familiarità con il concetto di operatori di reindirizzamento, che possono scrivere l'output in un file o leggere l'input da un file.

L'operatore '>' scrive l'output in un nuovo file o in un file esistente; nel qual caso cancella tutto ciò che è precedentemente presente nel file. L'operatore '>>' d'altra parte aggiunge l'output alla fine di un file esistente. Tuttavia, non esiste un operatore dedicato per scrivere nuovo testo all'inizio di un file.

Oggi vedremo due modi per aggiungere testo all'inizio di un file in Linux:uno con una soluzione alternativa e uno con un comando.

Nota :È un buon approccio per prima cosa eseguire il backup del file originale e quindi aggiungere il nuovo testo al file originale. In questo modo, se si verifica un errore durante l'utilizzo dei comandi, possiamo sempre ripristinare il file di backup. Per esempio. Puoi semplicemente copiare un file chiamato "file1 ' in un altro file chiamato 'file1_bkp ' e quindi aggiungere il testo all'originale, ovvero 'file1 '.

Aggiungi testo all'inizio del file utilizzando i comandi echo e cat

Come forse saprai, il comando echo stampa tutto ciò che viene passato come argomento all'output, mentre il comando cat stampa il contenuto di un file nell'output.

Possiamo così passare il nuovo testo da aggiungere a echo , passa il file a un gatto, combina e scrivi l'output nel file. Questo può essere fatto come segue:

$ x=`echo "New Text"; cat filename`
$ echo "$x" > filename

Fondamentalmente, stiamo combinando il nuovo testo e il contenuto esistente del file e memorizziamo il nuovo contenuto in una variabile. Quindi, emettiamo semplicemente la variabile e la reindirizziamo allo stesso file.

$ cat samplefile.txt
$ x=`echo "Name: John"; cat samplefile.txt`
$ cat samplefile.txt

Come puoi vedere sopra, il nuovo testo è stato aggiunto su una nuova riga all'inizio del file. Per aggiungere il testo all'inizio della prima riga esistente, usa -n argomento di eco.

$ x=`echo -n "New Text"; cat filename`
$ echo "$x" > filename
Nota che sebbene Bash o molte altre shell non hanno un limite alla dimensione di una variabile, tuttavia, la dimensione potrebbe essere limitata in base all'ambiente e alla configurazione del sistema. Quindi potrebbe esserci uno scenario in cui "samplefile.txt ' è un file contenente un'enorme quantità di dati e la variabile non riesce a memorizzarli tutti.

Aggiungi testo alla prima riga del file usando il comando sed

sed (abbreviazione di "Editor di stream ') è un editor a riga di comando in Linux, utilizzato per eseguire operazioni come scrivere testo su un file, trovare e sostituire, ecc.

sed è un comando complesso con molte opzioni per modificare i file in vari modi. Utilizzeremo funzionalità particolari di sed per aggiungere testo all'inizio di un file.

Esegui quanto segue per inserire il testo su una nuova riga all'inizio.

$ sed -i '1i New Text' filename

Il -i argomento dice a sed per modificare il file stesso. Senza di essa, sed crea automaticamente una copia del file ed esegue tutte le modifiche sulla copia.

La stringa '1i Nuovo testo' significa:'inserire' la stringa 'Nuovo testo' sul "1°" linea.

$ cat samplefile.txt
$ sed -i '1i Introduction' samplefile.txt
$ $ cat samplefile.txt

Ancora una volta, questo sta aggiungendo il nuovo contenuto su una nuova riga all'inizio. Per aggiungere nuovo testo sulla riga esistente, esegui:

$ sed -i '1s/^/New Text/' filename

Fondamentalmente, il simbolo dell'esponente (‘^’) indica una stringa nulla. Il '1' all'inizio significa che sed dovrebbe considerare la stringa nulla all'inizio della riga 1 e le 's' è un sed comando, per sostituire una stringa. Qui, la stringa nulla è sostituita da "Nuovo testo '.

$ cat samplefile.txt
$ sed -i '1s/^/Person/' samplefile.txt
$ cat samplefile.txt
Conclusione

Abbiamo imparato due modi semplici ma accattivanti per aggiungere nuovo testo all'inizio di un file in Linux. Naturalmente, il modo più ovvio per farlo, se deve essere fatto manualmente, è modificare il file con un editor di file. Tuttavia, in uno script, è possibile utilizzare i metodi discussi qui.

Grazie per la lettura e facci sapere la tua opinione nei commenti qui sotto!


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

  2. Come utilizzare il comando Tar in Linux

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

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

  5. Come inserire un testo all'inizio di un file?

Come utilizzare il comando head di Linux

Come usare il comando diff di Linux

Come creare un file in Linux

Come creare directory da un file di testo in Linux

Come decomprimere i file gz in Linux

Come utilizzare il comando Gzip in Linux?