Aloittelijan opas Shell Scripting 3: Lisää peruskomentoja ja ketjuja

Sisällysluettelo:

Aloittelijan opas Shell Scripting 3: Lisää peruskomentoja ja ketjuja
Aloittelijan opas Shell Scripting 3: Lisää peruskomentoja ja ketjuja

Video: Aloittelijan opas Shell Scripting 3: Lisää peruskomentoja ja ketjuja

Video: Aloittelijan opas Shell Scripting 3: Lisää peruskomentoja ja ketjuja
Video: Windows's Registry: Understand and Troubleshoot - YouTube 2024, Maaliskuu
Anonim
Olet oppinut luomaan komentosarjoja, käyttämään argumentteja ja rakentamaan silmukoita varten. Katsotaan nyt muutamia peruskomentoja, tekstitiedostojen manipulointia ja ohjataan syöttöä ja tulostusta tiedostoihin ja muihin komentoihin.
Olet oppinut luomaan komentosarjoja, käyttämään argumentteja ja rakentamaan silmukoita varten. Katsotaan nyt muutamia peruskomentoja, tekstitiedostojen manipulointia ja ohjataan syöttöä ja tulostusta tiedostoihin ja muihin komentoihin.

Joitakin hyödyllisiä peruskomentoja

Olemme jo antaneet sinulle peruskäsikirjoitukset ja esimerkkipohjaisen ääriviivan silmukoille. Muista kuitenkin tarkistaa nämä artikkelit, jos olet ikävä kuori komentojonokurssin oppaan tähän mennessä.

Komentorivi on ihanaa monista syistä, ja uudelleenohjaus on yksi merkittävimmistä. Jos joudutte merkitsemään ja toistamaan jokaisen komennon tuotosta, jotta voisimme ryhtyä jatkotoimiin tai käyttää sitä jotain muuta, olisimme kaikki hulluttaneet kauan sitten. Uudelleenohjaus antaa meille mahdollisuuden käyttää tätä tuottoa ja tallentaa sen tai käyttää sitä välittömästi syötteenä toiselle komennolle. Voimme käyttää myös tiedostoja syötteinä muille komennoille.

Ennen kuin jatkamme, katetaan joitain peruskomentoja, jotka voivat olla käyttökelpoisia monissa eri paikoissa.

kaiku - Tämä komento yksinkertaisesti tulostaa (näyttää) kokonaisuudessaan sen argumentin komentorivin lähteenä

echo argument with spaces

Kuten näette, erikoismerkkejä on "pakattava", jotta heitä käsitellään normaalisti. Tämä tehdään käyttämällä merkkijonoa eteenpäin (). On parempi ajatus käyttää lainauksia. Echo-komento toimii myös muuttujien kanssa.
Kuten näette, erikoismerkkejä on "pakattava", jotta heitä käsitellään normaalisti. Tämä tehdään käyttämällä merkkijonoa eteenpäin (). On parempi ajatus käyttää lainauksia. Echo-komento toimii myös muuttujien kanssa.
Kuten näet, yksittäiset ja kaksinkertaiset lainausmerkit toimivat eri tavoin. Lisätietoja, tarkista, mikä on yksittäisten ja kaksoisotosten välinen ero Bash Shellissä?
Kuten näet, yksittäiset ja kaksinkertaiset lainausmerkit toimivat eri tavoin. Lisätietoja, tarkista, mikä on yksittäisten ja kaksoisotosten välinen ero Bash Shellissä?

kissa - Tämä komento näyttää tekstitiedostojen sisällön tuloksena.

cat file_to_be_read

Sanotaan, että luomme tämän tekstitiedoston nano:

Kun käytämme kissa-komentoa tiedostossa, voimme nähdä sen lähdön.
Kun käytämme kissa-komentoa tiedostossa, voimme nähdä sen lähdön.
grep - Tämä on yksi tehokkaimmista ja hyödyllisimmistä komennoista, jotka ovat käytettävissä Linuxissa. Se tarkoittaa Global / Regular Expression Print. Se näyttää läpi tiedoston ja tulostaa jonkin tietyn kuvion mukaisen rivin. Koska tämä malli perustuu "säännölliseen ilmaisuun", lyhyt linja voi tuottaa monenlaisia sovittavia kuvioita. Ei, mutta voit syöttää haun hakemaan.
grep - Tämä on yksi tehokkaimmista ja hyödyllisimmistä komennoista, jotka ovat käytettävissä Linuxissa. Se tarkoittaa Global / Regular Expression Print. Se näyttää läpi tiedoston ja tulostaa jonkin tietyn kuvion mukaisen rivin. Koska tämä malli perustuu "säännölliseen ilmaisuun", lyhyt linja voi tuottaa monenlaisia sovittavia kuvioita. Ei, mutta voit syöttää haun hakemaan.

grep pattern file

Vakuutan teille, grep voi tehdä enemmän, mutta nyt pidämme kiinni helpommasta tavaraa.
Vakuutan teille, grep voi tehdä enemmän, mutta nyt pidämme kiinni helpommasta tavaraa.

Lähtöjen uudelleenohjaus

Jos haluat ohjata komennon tuotoksen tiedostoon, käytämme erikoismerkkiä, suurempaa kuin symboli (>).

Muuttakaamme listaamme ylös, vai mitä? Syötä seuraava komento:

echo pepperoni > list

Näet, että kaiku ei enää näytä viivaa, ja kun tarkastelemme "listan" sisältöä, näemme, mitä me kaikuimme siinä.
Näet, että kaiku ei enää näytä viivaa, ja kun tarkastelemme "listan" sisältöä, näemme, mitä me kaikuimme siinä.

Huomaa myös, että edellisen "luettelon" sisältö poistettiin. Yritä uudelleen:

Tämä voi olla hyödyllistä, kun haluat käyttää tiedostoa uudelleen, mutta usein haluamme lisätä olemassa olevaan tiedostoon. Tätä varten käytämme kahta peräkkäistä isompiä symbolia:
Tämä voi olla hyödyllistä, kun haluat käyttää tiedostoa uudelleen, mutta usein haluamme lisätä olemassa olevaan tiedostoon. Tätä varten käytämme kahta peräkkäistä isompiä symbolia:

echo yellow peppers >> list

Helppo! Käytämme tätä komentoa luodaksesi suuremman luettelon, eikö me?
Helppo! Käytämme tätä komentoa luodaksesi suuremman luettelon, eikö me?
Siellä me menemme. Uskon, että näet, miksi niin monet geeksit käyttävät komentorivin tehdä tehtäväluetteloita ja vastaavia, mutta se saa jopa paremman.
Siellä me menemme. Uskon, että näet, miksi niin monet geeksit käyttävät komentorivin tehdä tehtäväluetteloita ja vastaavia, mutta se saa jopa paremman.

Otetaan komennon tuotos ja laita se tiedostoon:

ls –al / > ~/rootlist

Image
Image

Tiedostojen tekeminen, niiden muokkaaminen ja sitten haluamiesi komentojen käyttäminen ei ole koskaan ollut yksinkertaisempaa. Ja vaikka teemme näitä perustoimintoja komentorivillä, ne toimivat myös skripteissä.

Putkisto tai ketjuttaminen

Putkisto on niin nimetty, koska se käyttää putkea (| | jaettuna useimmilla näppäimillä -näppäimellä). Pohjimmiltaan se vie yhden komennon tuoton ja syöttää sen suoraan toiselle. Voit luoda pitkän ketjun komentoja saadaksesi erittäin tarkan halutun tuotoksen tällä tavalla, ja se on erittäin kätevä komentoja kuten grep.

Se toimii paljon kuin ">", paitsi että sitä voidaan ketjuttaa useita kertoja ja sen vaikutus on yleisempää, koska sen ei tarvitse mennä tekstitiedoston läpi.
Se toimii paljon kuin ">", paitsi että sitä voidaan ketjuttaa useita kertoja ja sen vaikutus on yleisempää, koska sen ei tarvitse mennä tekstitiedoston läpi.

Kuten huomaat, grep on erottava. Voit käyttää "-i" -lippua jättääksesi sen huomiotta.

Image
Image

Tulojen uudelleenohjaus

Voit myös ottaa syötteitä tiedostoista komennoille käyttämällä vähemmän kuin symbolia (<).

cat < list

"Se ei ole mikään muu kuin argumentin käyttäminen!", Voit sanoa. No, olisit oikeassa tässä tapauksessa. Jos syötteen uudelleenohjaus todella tulee kätevästi ketjuttamalla komentoja yhteen.
"Se ei ole mikään muu kuin argumentin käyttäminen!", Voit sanoa. No, olisit oikeassa tässä tapauksessa. Jos syötteen uudelleenohjaus todella tulee kätevästi ketjuttamalla komentoja yhteen.

Sanotaan, että haluamme suodattaa sanaa, joka on "pep" siinä nykyisestä "list" -tiedostosta uudeksi tiedostoksi nimeltä "tarkistukset".

grep pep < list > revisions

Toista tämä komento uudelleen ja lisää lajittelu.
Toista tämä komento uudelleen ja lisää lajittelu.

grep pep < list | sort > revisions

Tämä käyttää "pep" hakutermina syötetiedostosta "list", lajitella sen aakkosjärjestyksessä (kaikki ylemmät tapaukset, joita seuraa kaikki pienet tapaukset), sitten tuottaa se "revisions" -tiedostoon.
Tämä käyttää "pep" hakutermina syötetiedostosta "list", lajitella sen aakkosjärjestyksessä (kaikki ylemmät tapaukset, joita seuraa kaikki pienet tapaukset), sitten tuottaa se "revisions" -tiedostoon.

Seuraavassa esimerkissä kuvataan lajittelukomento:

Kuten näet, lisäämällä "-f" -valikosta sortikomentoon voit ohittaa tapauksen. Tämä tekee meille helpommin aakkosjärjestyksen tekstitiedostojen riveihin ja sivuuttaa pääoman, kun sillä ei ole väliä.
Kuten näet, lisäämällä "-f" -valikosta sortikomentoon voit ohittaa tapauksen. Tämä tekee meille helpommin aakkosjärjestyksen tekstitiedostojen riveihin ja sivuuttaa pääoman, kun sillä ei ole väliä.

Yksinkertainen komentosarja

Luomme komentosarjan, jolla on seuraava muoto:

script searchterm listfile

Se kestää termiä ja käyttää grep-ohjelmaa etsimällä luettelotiedostoa, lajittelemalla tulokset ja sitten tuottamalla ne toiseen tiedostoon.

Tässä on hakemisto, jossa testaamme komentosarjan:
Tässä on hakemisto, jossa testaamme komentosarjan:
Ja voimme luoda luettelon siitä, mitä täällä on, ja suorita komentosarja.
Ja voimme luoda luettelon siitä, mitä täällä on, ja suorita komentosarja.
Ole hyvä! Mitä enemmän opit säännöllisten lausekkeiden sääntöihin, sitä tarkemmin voit koota hakukomennon. Ja mikä tahansa, joka on voimassa lainausmerkinnöissä, voi korvata ensimmäisen argumenttisi!
Ole hyvä! Mitä enemmän opit säännöllisten lausekkeiden sääntöihin, sitä tarkemmin voit koota hakukomennon. Ja mikä tahansa, joka on voimassa lainausmerkinnöissä, voi korvata ensimmäisen argumenttisi!

Lajittelun osalta voit tehdä enemmän kuin vain lajitella aakkosjärjestykseen. Tarkastele man-sivua joillekin seuraavista komennoista:

  • tsort - kehittyneempi topologinen lajittelutoiminto
  • tr - voit kartoittaa tiettyjä merkkejä muihin merkkeihin ja kirjoittaa niiden välillä.
  • uniq - poistaa ei-ainutlaatuisen (lue: kaksoiskappale)
  • awk - todella kehittynyt tekstinkäsittelykieli / -toiminto, jota voidaan käyttää erottamaan kentät tiedostonimiin
  • leikata, liitä / liitä - komentoja, jotka ovat hyödyllisiä kenttien eristämiseksi tekstitiedostoista ja uusien tietojen lisäämisestä sarakkeisiin
  • etsi - etsii kuten grep does, mutta käyttää sanakirjatiedostoa (joka voi olla käyttäjän määrittämä) hakuun
  • wc - voit saada sananlaskennan, rivinlaskun, merkkipisteen ja paljon muuta

Tarkastelimme vielä muutamia perusasioita, jotka voivat olla niin käyttökelpoisia komentorivillä kuin skripteillä. Tekstiin perustuvat tiedot ovat usein asioita, joita käytämme päivittäin, joten kykenemme toimimaan sen kanssa, etsimään sitä ja manipuloimaan sitä.

Mitkä ovat suosikkikirjoituksesi? Onko mitään erikoiskäyttöisiä komentosarjoja tekstipohjaisille tiedostoille? Jaa kommentteja, joita tiedät!

Suositeltava: