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
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:
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
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
Upozorňujeme tiež, že predchádzajúci obsah "zoznamu" bol odstránený. Skús to znova:
echo yellow peppers >> list
Vezmime výstup príkazu a vložme ho do súboru:
ls –al / > ~/rootlist
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.
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 pomocou symbolu menej ako (<).
cat < list
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
grep pep < list | sort > revisions
Ak chcete ilustrovať 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:
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.
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!