In questo articolo, esploreremo come possiamo usare il comando CAT e la funzione EOF per eseguire attività come scrivere stringhe multilinea su un file e altro ancora.
Scrivere stringa multi-riga in un file
Il comando CAT e la funzione EOF ci forniscono un modo semplice e intuitivo per scrivere stringhe multilinea in un file in bash. Si avvia dal comando cat seguito da un operatore di spostamento a sinistra.
Successivamente, aggiungiamo la parola chiave che costringerà Bash a interrompere l'input quando viene riscontrato.
Infine, passiamo un singolo operatore di reindirizzamento e il nome del file che si desidera scrivere.
Una sintassi di esempio è come mostrato nella seguente:
gatto << EOF > il mio file.sh
> Prima riga
> e un altro
> e un altro
> Eof
Una volta che Bash incontra la parola chiave EOF nell'ingresso, termina l'operazione di input e scrive il contenuto fornito al file.
Un esempio è come mostrato nel seguente:
gatto << EOF > eco.sh
> #!/Bin/Bash
>
> Echo "Hello World"
> Eof
Nell'esempio precedente, iniziamo aprendo l'operazione multilinea e diciamo a Bash di scrivere il contenuto all'eco.file sh. Questo crea il file se non esiste.
Infine, scriviamo le stringhe multiple consecutivamente e premi Invio per procedere alla riga successiva.
Una volta fatto, possiamo chiamare la stringa EOF per terminare l'input e scrivere sul file. Possiamo verificare visualizzando il contenuto del file.
Cat Echo.sh
#!/Bin/Bash
Echo "Hello World"
Utilizzo di cat eof per tubo di stringa multilinea
Quando si lavora con testi in bash, incontrerai scenari in cui è necessario fare una stringa multilinea a un comando.
La funzione Cat ed EOF può tornare utile. Nell'esempio seguente, utilizziamo il comando CAT ed EOF per tubola la stringa multilinea su GREP.
gatto << EOF | grep 'apache' > Apache.TXT
log4j
Apache Kafka
OpenJdk
Apache Webserver
Elasticsearch
Eof
Il comando precedente prende tutte le stringhe di input e le piogge ciascuna di esse per Grep. Grep quindi cerca le stringhe corrispondenti e scrivele ad Apache.file txt.
L'output risultante è mostrato nel seguente:
gatto apache.TXT
Apache Kafka
Apache Webserver
Conclusione
In questo articolo, abbiamo coperto due metodi principali per l'utilizzo del comando CAT e la funzione EOF per scrivere la stringa multi-riga in un file e piubire le stringhe multilinea in bash.