Ako používať príkaz Bash Cut


Bourne Again Shell (Bash) je dostupný pre všetky operačné systémy GNU a Linux. Najlepšia časť používania Bash je flexibilita, ktorú získate pri navigácii v ponukách a práci so súbormi a adresármi na príkazovom riadku. Bash ponúka rôzne užitočné príkazy a jedným z nich je príkaz cut , ktorý pomáha vytlačiť vybrané časti daného riadku. V ideálnom prípade, ak chcete rozdeliť daný riadok, najlepšou možnosťou je použiť príkaz vystrihnúť.

Práca s príkazom Vystrihnúť

Existujú rôzne situácie, kedy by ste chceli získať podreťazec daného riadku na termináli. V tom prípade príkaz cut funguje perfektne a ponúka rôzne možnosti rozdelenia strún. Môžete otvoriť stránku pomocníka a zobraziť rôzne možnosti, ktoré máte k dispozícii. Ďalej môžete použiť príkaz cut priamo v Bash skriptoch alebo príkazovom riadku.

Pozrime sa podrobne na rôzne možnosti príkazu rezu:

  1. -b: Používa sa, keď potrebujete vybrať iba bajty.

  2. -c: Používa sa, keď potrebujete vybrať iba znaky.

  3. -d: Použije oddeľovač určený pre vybrané časti reťazca.

  4. -f: Používa sa na definovanie poľa, ktoré sa má extrahovať.

  5. -s: Špecifikuje, že sa majú extrahovať iba riadky obsahujúce oddeľovač.

Teraz si dajme praktické príklady.

1. Extrahovanie len bajtov

Príznak -b určuje, že vystrihnutie vyberie iba zadané bajty. Môžete ho použiť pri práci so súborom alebo zadať reťazec na extrahovanie pomocou príkazu ako echo.

Napríklad, ak by sme skombinovali odozvu s orezaním na extrahovanie konkrétnych znakov z reťazca na základe ich počtu bajtov, mohli by sme mať takýto príklad:

$ echo “linux-console” | cut -b 1,2,3,4,5

Daný príkaz extrahuje bajty na základe zadaného počtu od 1.

Prípadne môžete použiť príkaz cut za predpokladu, že pridáte názov súboru, ktorý obsahuje reťazce. Náš súbor pre tento príklad je cutdemo.txt.

Podreťazce môžeme extrahovať pomocou nasledujúceho príkazu:

$ cut -b 1,3,4,5,6,9 cutdemo.txt

Pri práci s voľbou -b môžete zadať aj rozsah . Napríklad by sme mohli zadať rozsah v predchádzajúcom príkaze a zvoliť extrahovanie bajtov od 1-4 a 6-10. Náš nový príkaz vyzerá takto:

$ cut -b 1-4,6-10 cutdemo.txt

Všimnite si, ako je extrahovaný reťazec založený na zadanom rozsahu.

2. Extrahovanie iba znakov

Existujú rôzne spôsoby, ako môžete použiť možnosť -c .

Môžete sa rozhodnúť extrahovať daný znak zadaním pozície znaku ako v nasledujúcom príklade:

$ cut -c 4 cutdemo.txt

Napriek tomu môžete extrahovať znaky zo zadanej pozície dozadu, keď pridáte záporné znamienko. V nasledujúcom príklade začíname od 4. pozície pre všetky polia.

$ cut -c -4 cutdemo.txt

Okrem toho môžete určiť spustenie extrakcie z danej polohy alebo do danej koncovej polohy.

Nasledujúci príklad extrahuje reťazec zo 6. pozície na koniec reťazca.

$ cut -c6- cutdemo.txt

3. Práca s oddeľovačmi

Môžete zadať oddeľovač, ktorý pomáha rozdeliť reťazec. Môžete sa napríklad rozhodnúť rozdeliť reťazec podľa čiarky, dvojbodky atď. Oddeľovače fungujú najlepšie pri špecifikovaní poľa.

Určenie polí

Ak chceme určiť, ktoré polia sa majú zahrnúť, mohli by sme použiť príznak -f . Napríklad pri extrahovaní z daného súboru môžete zadať pole jedna ako -f 1. Nasledujúci príklad rozdelí reťazec na základe oddeľovača „ “ a pre pole 1.

$ cut -d “ “ -f 1 cutdemo.txt

V prípade viacerých polí zadajte čísla polí.

$ cut -d “ “ -f 1,3 cutdemo.txt

Výstupný oddeľovač môžete určiť aj pomocou možnosti –output-delimiter=$’delimiter’ . Napríklad pomocou nasledujúceho príkazu môžeme špecifikovať výstup tak, aby používal hviezdičku (*) ako oddeľovač výstupu:

$ cut -d “ “ -f 1,3 cutdemo.txt --output-delimiter=$’*’

V predchádzajúcom výstupe si môžeme všimnúť, že posledný riadok neobsahuje zadaný oddeľovač, napriek tomu sa vytlačil. Ak sa chcete vyhnúť tlači riadkov, ktoré neobsahujú oddeľovač, použite príznak -s. Náš nový príkaz a výstup je znázornený na nasledujúcom obrázku:

$ cut -d “ “ -f 1,3 cutdemo.txt –output-delimiter=$’*’ -s

Záver

Práca s príkazom cut je jednoduchá a dáva vám flexibilitu, aby ste pri práci so strunami dosiahli viac. Videli sme rôzne spôsoby, ako ho môžete použiť na rozdelenie reťazcov pomocou rôznych možností. Vďaka tejto príručke teraz rozumiete používaniu príkazu cut bash.

Súvisiace články: