Pipe, Grep a Sort Command v Linux/Unix s příklady
Co je to Pipe v Linuxu?
Pipe je příkaz v Linuxu, který vám umožňuje používat dva nebo více příkazů tak, že výstup jednoho příkazu slouží jako vstup pro další. Stručně řečeno, výstup každého procesu přímo jako vstup do dalšího jako potrubí. symbol '|' označuje potrubí.
Trubky vám pomohou smíchat dva nebo více příkazů současně a spustit je po sobě. Můžete používat výkonné příkazy, které dokážou provádět složité úkoly během okamžiku.
Pochopme to na příkladu.
Když použijete příkaz 'cat' k zobrazení souboru, který zahrnuje více stránek, výzva rychle přeskočí na poslední stránku souboru a neuvidíte obsah uprostřed.
Abyste tomu zabránili, můžete výstup příkazu 'cat' převést na 'méně', což vám zobrazí pouze jednu délku posouvání obsahu najednou.
cat filename | less
Ilustrace by to objasnila.
klikněte zde pokud video není přístupné
příkazy 'pg' a 'more'
Místo „méně“ můžete také použít.
cat Filename | pg
or
cat Filename | more
A můžete zobrazit soubor ve stravitelných bitech a posouvat se dolů pouhým stisknutím klávesy Enter.
Příkaz 'grep'
Předpokládejme, že chcete vyhledat konkrétní informace poštovní směrovací číslo z textového souboru.
Můžete ručně procházet obsah sami a dohledat informace. Lepší možností je použít příkaz grep. Dokument naskenuje požadované informace a zobrazí výsledek v požadovaném formátu.
Syntaxe:
grep search_string
Podívejme se na to v akci –
Zde, grep příkaz hledal v souboru 'sample' řetězec 'Apple' a 'Eat'.
S tímto příkazem lze použít následující možnosti.
Volba | funkce |
---|---|
-v | Zobrazí všechny řádky, které neodpovídají hledanému řetězci |
-c | Zobrazuje pouze počet odpovídajících řádků |
-n | Zobrazuje odpovídající řádek a jeho číslo |
-i | Používejte obě (velká i malá) písmena |
-l | Zobrazuje pouze název souboru s řetězcem |
Zkusme první možnost '-i' ve stejném souboru použijte výše -
Použitím volby 'i' grep odfiltroval řetězec 'a' (nerozlišují se malá a velká písmena) ze všech řádků.
Příkaz 'sort'
Tento příkaz pomáhá řazení obsahu souboru podle abecedy.
Syntaxe tohoto příkazu je:
sort Filename
Zvažte obsah souboru.
Pomocí příkazu řazení
Existují rozšíření k tomuto příkazu také a jsou uvedeny níže.
Volba | funkce |
---|---|
-r | Reverses třídění |
-n | Seřadí číselně |
-f | Třídění bez ohledu na malá a velká písmena |
Níže uvedený příklad ukazuje obrácené řazení obsahu v souboru 'abc'.
Co je filtr?
Linux má spoustu příkazů filtru, jako je awk, grep, sed, spell a wc. Filtr přebírá vstup z jednoho příkazu, provádí nějaké zpracování a poskytuje výstup.
Když propojíte dva příkazy, „filtrovaný“ výstup prvního příkazu je předán následujícímu.
Pojďme to pochopit pomocí příkladu.
Máme následující soubor 'sample'
Chceme zvýraznit pouze řádky, které neobsahují znak 'a', ale výsledek by měl být v obráceném pořadí.
K tomu lze použít následující syntaxi.
cat sample | grep -v a | sort - r
Pojďme se podívat na výsledek.
Shrnutí:
- Trubky '|' odeslat výstup jednoho příkazu jako vstup jiného příkazu.
- Filtr přebírá vstup z jednoho příkazu, provádí nějaké zpracování a poskytuje výstup.
- Příkaz grep lze použít k vyhledání řetězců a hodnot v textovém dokumentu
- Potrubí přes grep musí být jedním z nejběžnějších použití
- Příkaz 'sort' třídí obsah souboru podle abecedy
- Pro rozdělení dlouhého souboru na čitelné bity se používají příkazy less ,pg a more