Come scrivere in un file in bash

Come scrivere in un file in bash

Leggere e scrivere i file è uno dei compiti comuni durante la scrittura di script bash. Ad esempio, salvare l'output di un comando in un file o semplicemente manipolare i file in bash vengono utilizzati diversi comandi. Esistono diversi modi di scrivere qualsiasi file in Bash tramite Terminal e se stai trovando il modo di scrivere qualsiasi file durante lo scripting, leggi questa guida.

File di scrittura in Bash

Come accennato in precedenza, ci sono molti modi di scrivere qualsiasi file mentre Bash Scripting e sotto sono alcuni modi per scrivere un file in Bash:

  • Utilizzo di operatori direzionali
  • Usando il comando TEE
  • Usando Heredoc
  • Utilizzo del comando printf

Utilizzo di operatori direzionali

Esistono generalmente due operatori direzionali che si possono usare per scrivere un file durante gli script bash, uno è una parentesi angolare singola ">" e l'altro è una fascia angolare a doppia angolo ">>". La differenza principale tra i due è quella ">" sovrascrive i dati precedentemente presenti nel file con i nuovi dati, mentre ">> " D'altra parte aggiunge solo i nuovi dati nel file.

Per utilizzare uno qualsiasi degli operatori direzionali di seguito è la rispettiva sintassi che si dovrebbe seguire:

$ eco <“data”>

Ad esempio, per aggiungere dati a qualsiasi file che è vuoto attualmente o per sovrascrivere i dati in qualsiasi file, quindi utilizzare la sintassi sopra menzionata come questa:

$ echo "ciao linuxhint 1"> myfile.TXT

Successivamente, da usare ">>" Operatore direzionale per l'aggiunta di tutti i dati nel file ho usato la sintassi sopra menzionata come questa:

$ echo "ciao linuxhint 2" >> myfile.TXT

Ricorda che la sintassi sopra menzionata non solo scrive il file, ma creerà anche un file se non ce n'è nessuno.

Usando il comando TEE

Un altro modo per scrivere qualsiasi file mentre lo scripting bash è utilizzando il comando TEE e sotto è la sintassi indicata per l'utilizzo di questo comando:

$ echo "dati" | tee

Ad esempio, se voglio aggiungere dati a qualsiasi file, la sintassi sopra menzionata può essere utilizzata in questo modo:

$ echo "Benvenuti a LinuxHint" | tee myfile.TXT

Ricorda che la sintassi sopra utilizzata è benefica non solo per la scrittura dei dati, ma può anche essere utilizzata nel caso in cui qualcuno desidera sovrascrivere i dati attualmente presenti nel file con i nuovi dati.

Quindi, se si desidera conservare i dati correnti e si desidera scrivere il file con un nuovo set di dati, quindi utilizzare -UN Flag con la sintassi data come:

$ echo "saluti" | tee -a myfile.TXT

Se si desidera aggiungere gli stessi dati a più file, questo comando può essere di grande aiuto, il tee Il comando può essere usato per tale scopo come questo:

$ echo "saluti" | tee -a myfile1.txt myfile2.txt myfile3.TXT

Un altro vantaggio dell'utilizzo di questo comando è che si può modificare un file di proprietà degli altri utenti con l'aiuto di utilizzare i privilegi di amministrazione come questo:

$ echo "Questo è un file di test" | sudo tee -a myfile1.TXT

Utilizzo del comando printf

Poiché i modi di sopra menzionati non danno alla libertà all'utente di aggiungere la formattazione ai dati, quindi se si desidera aggiungere una formattazione specifica ai dati, allora printf può essere usato in questo modo:

$ printf “Saluti da Linuxhint \ nThis è un file di test.\ n ">> myfile1.TXT

Usando Heredoc

Un altro modo per scrivere un file in bash è usando il Qui documento Formato, non è un tipo di comando ma è più simile a un formato che si può seguire per scrivere più righe di dati, di seguito è il formato di Heredoc:

gatto << [delimiter]
dati…
[delimitatore]

Qui nella sintassi Cat viene utilizzato per leggere i dati e delimitatore è una sorta di confine per i dati; Potrebbe essere una stringa o un nome file. Nella pratica normale di solito la fine o l'EOF viene utilizzata come delimitatore, ma tutto dipende dalle preferenze dell'utente.

Ad esempio, ho creato un .file sh e ha usato il formato di hedoc come questo:

#! /Bin/Bash
gatto << MYFILE
Saluti da Linuxhint
Questo è un file di test creato usando Heredoc
IL MIO FILE

Ora per vedere se i dati vengono salvati correttamente, consentiamo di eseguire questo file utilizzando:

$ Bash MyBashcript.sh

Conclusione

Scrivere file durante lo script bash in un sistema Linux è un lavoro difficile se non si ha una solida conoscenza dell'uso di comandi Linux. Questa guida fornisce 4 modi per scrivere qualsiasi file durante gli script bash che sono: usando Operatori direzionali, tee comando, printf E hedoc.