Úvodná » ako » Príručka pre začiatočníkov pre skriptovanie Shell 3 Ďalšie základné príkazy a reťazce

    Príručka pre začiatočníkov pre skriptovanie Shell 3 Ďalšie základné príkazy a reťazce

    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 ďalšie 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 doteraz minuli naše skriptovacie príručky 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 mohli urobiť ďalšie opatrenia alebo použiť to pre niečo iné, potom by sme už dávno šli blázni. 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 ako 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ý argument na príkazovom riadku ako výstup

    echo argument s medzerami

    Ako môžete vidieť, š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 lepším nápadom použiť cenové ponuky. Príkaz echo pracuje aj s premennými.

    Ako vidíte, jednotlivé 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.

    mačka file_to_be_read

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

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

    grep - Toto je jeden z najsilnejších a najpoužívateľnejších príkazov, ktoré máte k dispozícii v systéme Linux. Slúži na tlač Globálny / regulárny výraz. Sleduje súbor a vytlačí ľubovoľný riadok, ktorý zodpovedá určitému vzoru. Vzhľadom k tomu, ž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ť tern pre vyhľadávanie.

    grep pattern file

    Uisťujem vás, grep môže urobiť viac, ale teraz sa držme jednoduchšie veci.

    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> zoznam

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

    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:

    echo žlté papriky >> zoznam

    Jednoduché! Použite tento príkaz na vytvorenie väčšieho zoznamu?

    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.

    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 vychádza z výstupu 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.

    Funguje to skoro ako ">", s výnimkou, ž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.

    Presmerovanie vstupov

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

    mačka < 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 dohromady.

    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 revízie

    Opakujte tento príkaz a pridajte nejaké triedenie.

    grep pep revízie

    Týmto sa ako hľadaný výraz použije vyhľadávací výraz zo zoznamu vstupného súboru, 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 zobraziť príkaz triedenia, pozrite sa na nasledujúci príklad:

    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:

    skript searchterm listfile

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

    Tu je adresár, ktorý budeme testovať skript v:

    A môžeme vytvoriť zoznam toho, čo tu, potom spustiť skript.

    Nech sa páči! Čím viac sa dozviete pravidlá regulárnych výrazov, tým lepšie môžete spojiť príkaz na vyhľadávanie. A čokoľvek, čo platí v citáciá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: duplicitné)
    • awk - veľmi pokročilý jazyk / funkcia spracovania textu, ktorá môže byť použitá na oddelenie polí v názvoch súborov
    • cut, paste / join - príkazy užitočné pre izoláciu polí z textových súborov a pridanie nových údajov do stĺpcov
    • look - hľadá ako grep, ale používa slovníkový súbor (ktorý môže byť špecifikovaný 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 je kľúčové.

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