Vývojári Linuxu sa riadia filozofiou vytvárania malých programov, ktoré urobia jednu úlohu a urobia ju dobre. Ako príklad si vezmite nástroje na spracovanie textu v systéme Linux, sú ľahké a majú modulárne funkcie. Aj keď sa tieto nástroje na manipuláciu s textom líšia zložitosťou a funkčnosťou, sú užitočné v prostredí, kde nie je dostupné grafické používateľské rozhranie.

Článok sa zaoberá najlepšími nástrojmi Linuxu na čítanie súborov a používanie regulárnych výrazov na vykonávanie operácií s vybratým textom. Zahŕňa tiež ich najzákladnejšie funkcie a príklady pre lepšie pochopenie.

1. grep

grep je linuxový nástroj na manipuláciu s textom, ktorý hľadá reťazec znakov alebo vzorov známych ako regulárne výrazy v súbore alebo texte. Nástroj grep patrí do rodiny nástrojov, ktoré zahŕňajú egrep, fgrep a grep, medzi ktorými je fgrep najrýchlejší zo všetkých, zatiaľ čo grep je najjednoduchší.

Všeobecná syntax pre použitie grep je nasledovná:

grep -options string názov súboru

Ak chcete napríklad vyhľadať slovo „root“ v súbor /etc/passwd:

instagram viewer
grep root /etc/passwd

Niektoré štandardné príklady príkazového riadka, ako začať, sú:

možnosti Príklad Popis
-c grep -c ./bashrc Spočítajte počet riadkov, v ktorých reťazec existuje
-i grep -i ./bashrc Vykonajte vyhľadávanie zadaného reťazca bez ohľadu na veľkosť písmen
-o grep -o súbor Vytlačí len zhodný reťazec
-l grep -l "passwd" Vytlačí názvy súborov v aktuálnom adresári, ktoré zodpovedajú vzoru
-n grep -n súbor Vytlačí číslo riadku pozdĺž riadku obsahujúceho zadaný reťazec
reťazec1|reťazec2 grep súbor "reťazec1|reťazec2". Vyhľadanie a vytlačenie viacerých reťazcov zo súboru

Podobne môžete použiť ^ metaznak pomocou príkazu grep na zobrazenie všetkých zodpovedajúcich reťazcov, ktoré začínajú určitými znakmi.

Napríklad nasledujúci príkaz spojí výstup príkazu env ako vstup do grep a zobrazí premenné, ktoré začínajú "HO":

env | grep ^HO

Súvisiace: Praktické príklady príkazov Linux Grep

2. awk

awk je výkonný skriptovací jazyk a nástroj na manipuláciu s textom v príkazovom riadku, ktorý dokáže skenovať riadok po riadku a porovnávať riadky so vzormi. Základná syntax príkazu awk je akcia definovaná v jednoduchých úvodzovkách a zložených zátvorkách, za ktorými nasleduje názov súboru.

awk názov súboru '{action}'
awk '{vzor; action}' názov súboru

Pomôcka vyhľadá súbor pomocou regulárnych výrazov a vykoná funkciu definovanú v parametri action. awk spustí skript na každom riadku, ak nenastavíte vzor, ​​ako je uvedené nižšie:

awk '{print $1}' awk_examples.txt

...kde $1 zobrazí prvé pole awk_examples.txt súbor.

Nasledujúci príkaz vykoná funkciu tlače na danom vzore nahradením druhého poľa "Svet"s"Alice“ a zobrazí celý riadok (0 $):

echo "Ahoj svet" | awk '{$2="Alice"; vytlačiť $0}'

Výkon:

Ahoj Alice

Podobne môžete použiť funkciu vytlačiť $0 z vyššie uvedeného príkazu na emuláciu grep funkčnosť.

awk '/john/{print $0}' /etc/passwd
john: x: 1001:1001::/home/john:/bin/sh

3. triediť

sort je ďalší nástroj príkazového riadka systému Linux, ktorý vám pomáha zobraziť obsah zadaného textového súboru v zoradenom formáte. Napríklad výstup príkazu awk môžete použiť ako vstup do pomocného programu triedenia takto:

awk '{print $1}' awk_examples.txt | zoradiť > zoradiť_text.txt
cat sort_text.txt

Výkon:

Súvisiace: Ako triediť textové súbory v systéme Linux pomocou triedenia

4. sed

sed alebo stream editor berie vstup ako prúd znakov a vykonáva filtrovanie a transformáciu textu (odstránenie, nahradenie a nahradenie) zadaného textu.

Môžete ho použiť v skripte a upravovať súbory neinteraktívne. Najzákladnejším účelom nástroja je teda nahradenie reťazca/znakov. Všeobecná syntax je:

sed súbor 's/string/substitution/option'

Vytvorte súbor pomocou náhodných viet na precvičenie a pochopenie fungovania tohto nástroja.

Nahradme výskyt slova "dva" na každom riadku súboru s "2"pomocou -g príznak globálnej náhrady takto:

sed 's/two/2/g' sed_examples.txt > sed_examples2.txt

Podobne použite -d príznak na odstránenie konkrétneho riadku zo súboru:

sed '2d' sed_examples.txt

Reťazec môžete nahradiť aj zadaním čísla riadku (4 s/dva/2/s) a vytlačím iba nahradený riadok takto:

sed -n '4 s/dva/2/p' sed_examples2.txt

The -n príznak v príkaze vyššie zakáže automatickú tlač vstupného toku na výstup. Túto možnosť môžete použiť vo svoj prospech na nahradenie funkcie utility grep sed.

Napríklad vyššie uvedený príkaz môžete upraviť tak, že zahrniete iba vzor regulárneho výrazu /two/p také, že -p flag vytlačí iba riadky do štandardného výstupného toku.

sed -n '/dva/p' sed_examples2.txt

Súvisiace: Týchto 10 príkladov z vás spraví skúseného používateľa Linuxu

5. rezať

Vystrihnutie je ďalšia pomôcka príkazového riadka, ktorá vyrezáva/extrahuje časti textu z riadku alebo súboru. Vystrihne text na základe zadaného poľa, znaku alebo pozície bajtu a výsledok prenesie na štandardný výstup.

Pomôcka má nasledujúcu syntax:

rezať  súbor

Použi -b možnosť vyrezať časť alebo obsah pomocou určeného bajtu alebo rozsahu bajtov:

cut -b 1 cut_examples.txt

Použi -c príznak na extrahovanie textu zadaním pozícií znakov:

cut -c 1,3,5 cut_examples.txt

Nakoniec môžete tiež extrahovať text zadaním polí pomocou -f možnosť a -d pre medzerník alebo oddeľovač poľa:

cut -d " " -f 1 cut_examples.txt

Tu je zoznam rozsahov s príkladmi a popismi, ktoré môžete použiť s postavou -c a bajt -b možnosti:

Rozsah Príklad Popis
n- cut -c 7- názov súboru Extrahujte znak od n-tého celého čísla po koniec riadku
n-m cut -b 7-15 názov súboru Výťažky z celého čísla n-m každého riadku zo vstupného súboru
-m cut -c -7 názov súboru Extrahuje riadky začínajúce od m do konca riadku

Všimnite si, že pomocou poľa nemôžete definovať rozsahy pre extrakciu textu -f možnosť.

Manipulácia s textom pomocou príkazov Linuxu

Linux ponúka mnoho programov a nástrojov na manipuláciu a prácu so súbormi alebo textom. Naučiť sa ich všetky nemusí byť potrebné, pretože medzeru môžete ľahko vyplniť iným, keď jeden dobre ovládate, ako napríklad používanie sed ako grep alebo awk ako grep, ale to nemôže platiť pre každý nástroj.

Okrem toho majú príkazy Linuxu strmú krivku učenia, ale akonáhle si túto zručnosť rozviniete, môžu sa ukázať ako veľmi užitočné a efektívne v živote každého používateľa Linuxu, najmä správcu systému.

8 najlepších terminálových aplikácií pre vylepšenú produktivitu Linuxu

Už vás nebaví stará a nudná terminálová aplikácia, ktorá je predinštalovaná v systéme Linux? Pozrite si týchto osem terminálových aplikácií, ktoré vylepšia váš pracovný postup.

Prečítajte si ďalej

zdieľamTweetujteEmail
Súvisiace témy
  • Linux
  • Linuxové príkazy
O autorovi
Rumaisa Niazi (7 publikovaných článkov)

Rumaisa je spisovateľkou na voľnej nohe v MUO. Nosila veľa klobúkov, od matematičky až po nadšenca informačnej bezpečnosti, a teraz pracuje ako analytička SOC. Medzi jej záujmy patrí čítanie a písanie o nových technológiách, distribúciách Linuxu a všetkom okolo informačnej bezpečnosti.

Viac od Rumaisa Niaziho

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Ak sa chcete prihlásiť na odber, kliknite sem