27Jun
Naučil jste se vytvářet skripty, používat argumenty a vytvářet smyčky. Nyní se podívejme na některé další základní příkazy, manipulaci s textovými soubory a přesměrování vstupu a výstupu na soubory a další příkazy.
Některé základní užitečné příkazy
Už jsme vám poskytli základní rozpis shell skriptů a příkladový obrys pro smyčky, ale nezapomeňte se podívat na tyto články, pokud jste doposud zmeškali náš průvodce skriptováním prostředí.
Příkazový řádek je z mnoha důvodů skvělý a přesměrování je jedním z nejvýznamnějších. Pokud jste museli vzít na vědomí a reprodukovat výstup z každého příkazu, aby bylo možné podniknout další kroky nebo použít něco jiného, pak bychom už dávno zbláznili. Přesměrování nám umožňuje použít tento výstup a uložit ho nebo ho okamžitě použít jako vstup pro jiný příkaz. Můžeme také použít soubory jako vstupy pro další příkazy.
Předtím než budeme pokračovat, pojďme se podívat na některé základní příkazy, které mohou být užitečné na mnoha různých místech.
echo - Tento příkaz jednoduše vytiskne( zobrazí) celý argument na příkazovém řádku jako výstupní
echo argument s mezerami
Jak vidíte, speciální znaky musí být "uniklé", takže se s nimi zachází normálně.To se provádí pomocí zpětného lomítka( \) před znakem. Je lepší představit si citace. Příkaz echo pracuje také s proměnnými.
Jak vidíte, jednoduché a dvojité uvozovky se chovají jinak. Pro více informací se podívejte na Jaký je rozdíl mezi jednotlivými a dvojitými kotacemi v Bash Shell?
cat - Tento příkaz zobrazí obsah textových souborů jako výstup.
cat file_to_be_read
Řekněme, že vytvoříme tento textový soubor v nano:
Když použijeme příkaz cat na soubor, můžeme vidět jeho výstup.
grep - Jedná se o jeden z nejsilnějších a nejužitečnějších příkazů, které máte k dispozici v Linuxu. Jedná se o tisk Global / Regular Expression Print. Hledá soubor a vytiskne libovolný řádek, který odpovídá určitému vzoru. Vzhledem k tomu, že tento vzor je založen na "regulárním výrazu", stručná čára může přinést množství vzorků, které mají být splněny. Ne, ale můžete zadat tern pro hledání.
file grep pattern
Ujišťuji vás, že grep může dělat víc, ale zatím se držme jednodušších věcí.
Přesměrování výstupů
Chcete-li přesměrovat výstup příkazu do souboru, použijeme speciální znak, symbol větší( & gt;).
Změníme náš seznam, ano? Zadejte následující příkaz:
echo pepperoni & gt;seznam
Zjistíte, že ozvěna již linku nezobrazuje a když se podíváme na obsah souboru "seznamu", vidíme, co jsme zopakovali tam.
Také bere na vědomí, že předchozí obsah "seznamu" byl odstraněn. Vyzkoušejte to znovu:
To může být užitečné, pokud chcete znovu použít soubor, ale často se chceme jen přidat k existujícímu souboru. Pro tento účel používáme dva po sobě jdoucí symboly:
echo yellow paprsky & gt;seznam
Snadné!Použijeme tento příkaz k vytvoření většího seznamu, ano?
Tam jdeme. Myslím, že můžete vidět, proč tolik geeků používá příkazový řádek pro seznamy úkolů a podobně, ale ještě lepší.
Pojďme na výstup příkazu a vložme jej do souboru:
ls -al />~ / rootlist
Vytváření seznamů souborů, jejich úpravy a spuštění příkazů na těch, které chcete, nebylo nikdy jednodušší.A když provádíme tyto základní funkce v příkazovém řádku, fungují to i ve skriptech.
potrubí nebo řetězec
Potrubí je takto pojmenováno, protože používá potrubí( |, sdílené s klávesou \ na většině klávesnic).V podstatě trvá výstup jednoho příkazu a přímo ho přenáší do jiného. Můžete vytvořit dlouhé řetězce příkazů, abyste získali velmi specifický požadovaný výstup tímto způsobem, a je to velmi výhodné pro příkazy jako grep.
Jedná se spíše jako "& gt;", s výjimkou toho, že může být řetězováno vícekrát a jeho účinek je obecnější v tom, že nepotřebuje procházet textový soubor.
Jak vidíte, grep se rozlišuje velká a malá písmena. Příznak "-i" můžete použít k ignorování případu.
Přesměrování vstupů
Můžete také zadávat vstupy ze souborů příkazů pomocí symbolu méně než(
cat "To se nijak neliší od použití argumentu!", Můžete říct. No, v tomto případě byste byli správní.Tam, kde přesměrování vstupu skutečně přichází v pořádku, je to ve spojení řetězců. Řekněme, že chceme filtrovat jakékoliv slovo, které má "pep" z našeho aktuálního "seznamu" souboru do nového souboru s názvem "revize". grep pep Opakujme tento příkaz a přidáme nějaké řazení. grep pep Jako vyhledávací termín použije "pep" ze vstupního souboru "list", zoradí jej v abecedním pořadí( všechny velkými písmeny následují všechny malé výrazy) a pak jej uvede do souboru "revizí". Chcete-li ukázat příkaz řazení, podívejte se na následující příklad: Jak vidíte, přidání příznaku "-f" příkazu řazení umožňuje ignorovat případ. Díky tomu je pro nás snadné alfabetizovat řádky v textových souborech a při neplatnosti ignorovat kapitalizaci. Vytvořme skript, který má následující podobu: skript searchterm listfile Bude trvat na termínu a použijete grep pro vyhledání souboru seznamu, řazení výsledků a jejich výstup do jiného souboru. Zde je adresář, který budeme testovat skript v: A můžeme vytvořit seznam toho, co zde, a pak spustit skript. Tam jdete!Čím více se naučíte pravidel regulárních výrazů, tím přesněji sestavíte příkaz pro vyhledávání.A všechno, co je platné v uvozovkách, může nahradit váš první argument! Pokud jde o třídění, můžete dělat více než jen řazení podle abecedy. Podívejte se na manuálovou stránku pro některé z následujících příkazů: na některých základních dnech dnes může být stejně užitečné na příkazovém řádku jako v skriptech. Textová data jsou často jádrem věcí, které denně používáme, a proto je s nimi schopna pracovat, vyhledávat a manipulovat s nimi. Jaké jsou některé z vašich oblíbených skriptů?Máte nějaké speciální skripty pro textové soubory? Sdílejte to, co znáte v komentářích! Jednoduchý skript