I denne artikkelen vil vi utforske hvordan vi kan bruke CAT-kommandoen og EOF-funksjonen til å utføre oppgaver som å skrive multi-linjestrenger til en fil og mer.
Skrive multi-linjestreng til en fil
CAT-kommandoen og EOF-funksjonen gir oss en enkel og intuitiv måte å skrive flerlinjestrenger til en fil i bash. Du starter med CAT -kommandoen etterfulgt av en venstre skiftoperatør.
Deretter legger vi til søkeordet som vil tvinge Bash til å avslutte inngangen når det oppstår.
Til slutt passerer vi en enkelt viderekoblingsoperatør og navnet på filen du ønsker å skrive.
Et eksempel på syntaks er som vist i følgende:
katt << EOF > myfile.sh
> Første linje
> Og en annen
> Og en annen
> Eof
Når Bash har møter nøkkelordet EOF i inngangen, avslutter den inngangsoperasjonen og skriver det medfølgende innholdet til filen.
Et eksempel er som vist i følgende:
katt << EOF > ekko.sh
> #!/bin/bash
>
> ekko "Hello World"
> Eof
I forrige eksempel starter vi med å åpne multi-line-operasjonen og fortelle Bash om å skrive innholdet til Echo.SH -fil. Dette oppretter filen hvis den ikke eksisterer.
Til slutt skriver vi flere strenger etter hverandre og trykker Enter for å fortsette til neste linje.
Når vi er ferdig, kan vi ringe EOF -strengen for å avslutte inngangen og skrive til fil. Vi kan bekrefte ved å se innholdet i filen.
Cat Echo.sh
#!/bin/bash
ekko "Hello World"
Bruke katt EOF for å pipe multi-linjestreng
Når du jobber med tekster i bash, vil du møte scenarier der du trenger å pipe en multi-linjestreng til en kommando.
Katten og EOF -funksjonen kan komme til nytte. I det følgende eksemplet bruker vi CAT- og EOF-kommandoen for å røre multi-linjestrengen for å grep.
katt << EOF | grep 'apache' > Apache.tekst
log4j
Apache Kafka
OpenJDK
Apache WebServer
Elasticsearch
Eof
Den forrige kommandoen tar alle inngangsstrengene og rørene hver og en av dem til grep. Grep søker deretter etter matchende strenger og skriv dem til Apache.txt -fil.
Den resulterende utgangen er som vist på følgende:
Cat Apache.tekst
Apache Kafka
Apache WebServer
Konklusjon
I denne artikkelen dekket vi to hovedmetoder for bruk.