Príručka pre začiatočníkov pre skriptovanie Shell 3: Viac základných príkazov a reťazcov

Obsah:

Príručka pre začiatočníkov pre skriptovanie Shell 3: Viac základných príkazov a reťazcov
Príručka pre začiatočníkov pre skriptovanie Shell 3: Viac základných príkazov a reťazcov

Video: Príručka pre začiatočníkov pre skriptovanie Shell 3: Viac základných príkazov a reťazcov

Video: Príručka pre začiatočníkov pre skriptovanie Shell 3: Viac základných príkazov a reťazcov
Video: TICWATCH PRO 5 Review: The BEST Wear OS Watch Yet?! // A Complete Guide 2024, Apríl
Anonim
Naučili ste sa vytvárať skripty, používať argumenty a vytvárať slučky. Teraz sa pozrime na niektoré ďalšie základné príkazy, manipuláciu s textovými súbormi a presmerovanie vstupov a výstupov na súbory a iné príkazy.
Naučili ste sa vytvárať skripty, používať argumenty a vytvárať slučky. Teraz sa pozrime na niektoré ďalšie základné príkazy, manipuláciu s textovými súbormi a presmerovanie vstupov a výstupov na súbory a iné príkazy.

Niektoré základné užitočné príkazy

Už sme vám poskytli základné rozdelenie skriptov pre shell a príkladový obrys pre slučky, ale nezabudnite si tieto články skontrolovať, ak ste doposiaľ zmeškali našu sprievodcu skriptmi pre shell.

Príkazový riadok je z mnohých dôvodov skvelý a presmerovanie je jedným z najvýznamnejších. Ak ste museli vziať na vedomie a reprodukovať výstup každého príkazu, aby ste podnikli ďalšie kroky alebo použili to pre niečo iné, potom by sme sa už dávno zbláznili. Presmerovanie nám umožňuje použiť tento výstup a uložiť ho, alebo ho okamžite použiť ako vstup pre iný príkaz. Môžeme tiež použiť súbory ako vstupy pre iné príkazy.

Skôr než budeme pokračovať, pokryjeme niektoré základné príkazy, ktoré môžu byť použiteľné na mnohých rôznych miestach.

echo - Tento príkaz jednoducho vytlačí (zobrazuje) celú svoju argumentáciu na príkazovom riadku ako výstup

echo argument with spaces

Ako vidíte, špeciálne znaky musia byť "utieknuté", takže sa s nimi zaobchádza normálne. To sa deje pomocou spätného lomka () pred znakom. Je to lepší nápad použiť cenové ponuky. Príkaz echo funguje aj s premennými.
Ako vidíte, špeciálne znaky musia byť "utieknuté", takže sa s nimi zaobchádza normálne. To sa deje pomocou spätného lomka () pred znakom. Je to lepší nápad použiť cenové ponuky. Príkaz echo funguje aj s premennými.
Ako môžete vidieť, jednostranné a dvojité citácie sa správajú inak. Ak chcete získať viac informácií, pozrite sa, aký je rozdiel medzi jednorazovými a dvojitými cenami v Bash Shell?
Ako môžete vidieť, jednostranné a dvojité citácie sa správajú inak. Ak chcete získať viac informácií, pozrite sa, aký je rozdiel medzi jednorazovými a dvojitými cenami v Bash Shell?

mačka - Tento príkaz zobrazí obsah textových súborov ako výstup.

cat file_to_be_read

Povedzme, že vytvoríme tento textový súbor v nano:

Keď použijeme príkaz cat na súbor, môžeme vidieť jeho výstup.
Keď použijeme príkaz cat na súbor, môžeme vidieť jeho výstup.
Image
Image

grep - Toto je jeden z najsilnejších a najpoužívateľnejších príkazov, ktoré máte k dispozícii v systéme Linux. Ide o globálny / regulárny výraz. Vyzerá cez súbor a vytlačí ľubovoľný riadok, ktorý zodpovedá určitému vzoru. Pretože tento vzor je založený na "regulárnom vyjadrení", stručná línia môže priniesť množstvo vzorov, ktoré sa majú zhodovať. Nie, ale môžete zadať ternu na vyhľadávanie.

grep pattern file

Uisťujem vás, grep môže robiť viac, ale teraz sa držme jednoduchších vecí.
Uisťujem vás, grep môže robiť viac, ale teraz sa držme jednoduchších vecí.

Presmerovanie výstupov

Ak chcete presmerovať výstup príkazu do súboru, používame špeciálny znak, väčší ako symbol (>).

Zmeňme náš zoznam hore, či nie? Zadajte nasledujúci príkaz:

echo pepperoni > list

Môžete vidieť, že ozvena už nezobrazuje riadok, a keď sa pozrieme na obsah súboru "zoznam", vidíme, čo sme zopakovali tam.
Môžete vidieť, že ozvena už nezobrazuje riadok, a keď sa pozrieme na obsah súboru "zoznam", vidíme, čo sme zopakovali tam.

Upozorňujeme tiež, že predchádzajúci obsah "zoznamu" bol odstránený. Skús to znova:

To môže byť užitočné, ak chcete súbor opätovne použiť, ale často chceme len pridať do existujúceho súboru. Za týmto účelom používame dva po sebe idúce symboly:
To môže byť užitočné, ak chcete súbor opätovne použiť, ale často chceme len pridať do existujúceho súboru. Za týmto účelom používame dva po sebe idúce symboly:

echo yellow peppers >> list

Jednoduché! Použite tento príkaz na vytvorenie väčšieho zoznamu, či nie?
Jednoduché! Použite tento príkaz na vytvorenie väčšieho zoznamu, či nie?
Tam ideme. Myslím, že môžete pochopiť, prečo toľko geekov používa príkazový riadok na zoznamy úloh a podobne, ale ešte lepšie.
Tam ideme. Myslím, že môžete pochopiť, prečo toľko geekov používa príkazový riadok na zoznamy úloh a podobne, ale ešte lepšie.

Vezmime výstup príkazu a vložme ho do súboru:

ls –al / > ~/rootlist

Vytváranie zoznamov súborov, ich úpravy a následné spustenie príkazov na tých, ktoré chcete, nebolo nikdy jednoduchšie. A práve vtedy, keď robíme tieto základné funkcie v príkazovom riadku, fungujú to aj v skriptoch.
Vytváranie zoznamov súborov, ich úpravy a následné spustenie príkazov na tých, ktoré chcete, nebolo nikdy jednoduchšie. A práve vtedy, keď robíme tieto základné funkcie v príkazovom riadku, fungujú to aj v skriptoch.

Potrubia alebo reťazenie

Potrubie je takto pomenované, pretože používa potrubie, (|, zdieľané s kľúčom na väčšine klávesníc). V podstate trvá výstup jedného príkazu a priamo ho posiela do iného. Môžete vytvoriť dlhé reťazce príkazov, aby ste získali veľmi špecifický požadovaný výstup týmto spôsobom a je to veľmi výhodné pre príkazy ako grep.

Pôsobí veľa ako ">", s výnimkou toho, že môže byť viazaný niekoľkokrát a jeho účinok je všeobecnejší v tom, že nemusí prechádzať textovým súborom.
Pôsobí veľa ako ">", s výnimkou toho, že môže byť viazaný niekoľkokrát a jeho účinok je všeobecnejší v tom, že nemusí prechádzať textovým súborom.

Ako môžete vidieť, grep sa rozlišuje veľké a malé písmená. Príznak "-i" môžete použiť, aby ste ignorovali prípad.

Image
Image

Presmerovanie vstupov

Môžete tiež prijímať vstupy zo súborov pre príkazy pomocou symbolu menej ako (<).

cat < list

"To nie je iné ako použitie argumentu!", Môžete povedať. No, v tomto prípade by ste boli správne. Kde presmerovanie vstupu naozaj príde vhod, je to v príkaze spojenia.
"To nie je iné ako použitie argumentu!", Môžete povedať. No, v tomto prípade by ste boli správne. Kde presmerovanie vstupu naozaj príde vhod, je to v príkaze spojenia.

Povedzme, že chceme filtrovať každé slovo, ktoré má "pep" v našom aktuálnom súbore "zoznam", do nového súboru s názvom "revízie".

grep pep < list > revisions

Opakujte tento príkaz a pridajte nejaké triedenie.
Opakujte tento príkaz a pridajte nejaké triedenie.

grep pep < list | sort > revisions

Týmto sa z hľadiska vstupného súboru "zoznam" použije "pep", usporiada ho v abecednom poradí (všetky veľké písmená budú nasledovať všetky malé výrazy) a potom sa do súboru "revisions".
Týmto sa z hľadiska vstupného súboru "zoznam" použije "pep", usporiada ho v abecednom poradí (všetky veľké písmená budú nasledovať všetky malé výrazy) a potom sa do súboru "revisions".

Ak chcete ilustrovať príkaz triedenia, pozrite sa na nasledujúci príklad:

Image
Image

Ako vidíte, pridanie príznaku "-f" príkazu sort umožňuje ignorovať prípad. To nám uľahčuje alfabetizovať riadky v textových súboroch a ignorovať veľké písmená, keď to nezáleží.

Jednoduchý skript

Vytvorme si skript, ktorý má nasledujúci formulár:

script searchterm listfile

Bude trvať na termíne a použijete grep na vyhľadávanie v zozname súborov, zoradenie výsledkov a ich výstup do iného súboru.

Tu je adresár, ktorý budeme testovať skript v:
Tu je adresár, ktorý budeme testovať skript v:
A môžeme vytvoriť zoznam toho, čo tu, a potom spustiť skript.
A môžeme vytvoriť zoznam toho, čo tu, a potom spustiť skript.
Nech sa páči! Čím viac sa naučíte pravidlá regulárnych výrazov, tým lepšie môžete spojiť príkaz na vyhľadávanie. A všetko, čo je platné v úvodzovkách, môže nahradiť váš prvý argument!
Nech sa páči! Čím viac sa naučíte pravidlá regulárnych výrazov, tým lepšie môžete spojiť príkaz na vyhľadávanie. A všetko, čo je platné v úvodzovkách, môže nahradiť váš prvý argument!

Pokiaľ ide o triedenie, môžete robiť viac ako len triediť abecedne. Pozrite sa na manuálovú stránku pre niektoré z nasledujúcich príkazov:

  • tsort - pokročilejšia topologická funkcia triedenia
  • tr - umožňuje mapovať konkrétne znaky na iné znaky a prepisovať medzi nimi.
  • uniq - odstráni všetky ne-jedinečné (čítanie: duplikát)
  • awk - veľmi pokročilý jazyk / funkcia spracovania textu, ktorá sa môže použiť na oddelenie polí v názvoch súborov
  • cut, paste / join - príkazy, ktoré sú užitočné na izoláciu polí z textových súborov a pridávanie nových údajov do stĺpcov
  • look - hľadá ako grep, ale používa slovníkový súbor (ktorý môže byť určený užívateľom) pre vyhľadávanie
  • wc - umožňuje získať počet slov, počet riadkov, počet znakov a ďalšie

Zobrali sme pohľad na niektoré ďalšie základy dnes, ktoré môžu byť rovnako užitočné na príkazovom riadku ako v skriptoch. Textové údaje sú často jadrom vecí, ktoré používame denne, takže s nimi môžeme pracovať, vyhľadávať ich a manipulovať s nimi.

Aké sú niektoré z vašich obľúbených skriptov? Máte skripty na špeciálne použitie pre textové súbory? Zdieľajte to, čo poznáte v komentároch!

Odporúča: