Příklady příkazu Linux cut

Příkaz Linux `cut` je jedním z užitečných příkazů pro práci s daty řetězce a obsahem souboru. Používá se hlavně pro řezání obsahu z tabulkových dat nebo souboru CSV. Každý řádek souboru lze rozdělit na plátky a požadovaná data lze snadno načíst pomocí příkazu „cut“. Lze jej také použít k ořezání textu oddělovačem nebo pozicí znaků nebo bajtů. Tento příkaz má mnoho možností, jak různými způsoby vyjmout data z textu nebo souboru. Jak lze použít příkaz cut s různými možnostmi, je v tomto kurzu ukázáno na různých příkladech.

Syntaxe:

cut OPTION. ..…

Pro příkaz `cut` je povinné použít hodnotu OPTION a název SOUBORU je volitelný. Pokud v příkazu vynecháte název souboru, bude to brát data ze standardního vstupu. Pokud ale vynecháte hodnotu OPTION v příkazu cut, vygeneruje se chyba.

Možnosti:

Značka možnosti Popis
-b nebo –byte = LIST Vyberte konkrétní bajty.
-c nebo –character = LIST Vyberte konkrétní znaky.
-d nebo –delimiter = DELIM Vyberte hodnotu DELIM jako oddělovač. Ve výchozím nastavení je oddělovač TAB.
-f nebo –fields = LIST Vyberte konkrétní pole
–complement Použijte k doplnění výstup
-s nebo –only-delimited Vynechat řádky, které neobsahují oddělovač.
–output-delimiter = STRING Jako oddělovač výstupu použijte hodnotu STRING.
-z nebo –zero-terminated Jako oddělovač řádků použijte NULL.

Příklad 1 : Vyjmout o bajty

Následující příkaz vyjmout rozdělí standardní vstupní data na základě definovaných bajtů. Zde jsou 3,4,5 a 6 definovány jako bajty. Výstup bude generován na základě standardního vstupu. Stisknutím klávesy CTRL + D ukončete příkaz.

$ cut -b 3,4,5,6

Výstup:

Zde je vstup „Líbí se mi programování“ a výstup je „jako“ na základě uvedených bajtů.

Vytvořte textový soubor s názvem „productlist.txt“ s následujícím obsahem pro použití příkazu „cut“. Pomocí TAB oddělte pole obsahu souboru.

ID Název Cena
01 Pero $ 2
02 Tužka $ 1,5
03 Guma $ 1

Spuštěním následujícího příkazu načtete pouze ID produktu. Zde jsou bajty uvedeny jako rozsah „1–2“ pro oříznutí dat.

$ cut -b 1-2 < productlist.txt

Výstup:

Příklad-2: Řez podle znaků

Stejný výstup můžete vygenerovat pomocí volby -c, ty jsou uvedeny v předchozích příkladech. Mezi výstupem -b a – c možnosti příkazu cut. Spuštěním následujícího příkazu zobrazte použití volby -c. Zde se jako volitelná hodnota používá 4, která vystřihne z pozice 4 na všechny zbývající znaky každého řádku. Můžete také použít záporné znaménko před hodnotou jako -4, poté se odřízne od začátku do 4 pozic.

$ cut -c 4- productlist.txt

Výstup:

První tři znaky jsou ve výstupu vynechány.

Příklad 3: Vyjmout oddělovačem a poli

Vytvořte soubor CSV s názvem ‚students.csv‘ s následujícím obsahem, který ukáže použití oddělovače.

1001, Jonathan, CSE, 3,74
1002, Micheal, EEE, 3,99
1003, Asraful Haque, BBA, 3,85
1004, Momotaj Khan, anglicky, 3.20

Spuštěním následujícího příkazu vytisknete jméno studenta a CGPA ze souboru students.csv. Podle obsahu souboru obsahuje 2. a 4. pole jméno studenta a CGPA. V tomto příkazu se tedy k zobrazení výstupu používají dvě možnosti. Jedním z nich je oddělovač, -d, což je ‚,‘ zde a dalším je možnost pole, -f.

$ cut -d „,“ – f 2,4 students.csv

Výstup:

Pokud chcete vytiskněte dva nebo více po sobě jdoucích sloupců libovolných tabulkových dat nebo souboru CSV, pak můžete definovat pole jako rozsah. Rozsah hodnoty pole je použit v následujícím příkazu. Zde se všechna pole od 2 do 4 vytisknou jako výstup.

$ cut -d „,“ -f 2-4 students.csv

Výstup:

Příklad 4: Vyjmout doplňkem

– volba doplňku se používá ke generování opačného výstupu příkazu . V následujícím příkazu je použit soubor productlist.txt, který je vytvořen v prvním příkladu. Zde volba -f ořízne první pole a volba –-komplement vytiskne ostatní všechna pole souboru vynecháním prvního pole.

$ cat productlist.txt
$ cut –complement -f 1 productlist.txt

Výstup:

Příklad 5: Vyjmout oddělovačem výstupu

Tato možnost se používá ke generování výstupu pomocí konkrétního oddělovače. Dříve vytvořený soubor students.csv se použije v následujícím příkazu. „,“ Je výchozí oddělovač jakéhokoli souboru CSV. Následující příkaz používá jako hodnotu oddělovače „:“.

$ cat students.csv
$ cut -d „,“ -f 1- 3 students.csv –output-delimiter = „:“

Výstup:

Po provedení příkazu bude vstupní oddělovač ‚,‘ nahrazen oddělovačem výstupu ‚:‘ a první tři pole se vytisknou oddělením ‚:‘.

Příklad 6: Použití řezu s příkaz potrubí

Příkaz Vyjmout může převzít vstup z libovolného souboru nebo ze vstupu uživatele. Ale vstupní text lze poslat do cut příkazu pomocí kanálu. Následující příkaz ukazuje použití příkazu cut s trubkou. Zde příkaz echo zadá vstupní text pro příkaz cut a příkaz cut ořízne pole 2 a 3 na základě oddělovače.

$ echo „Testovací řez příkaz „| cut -d „“ -f 2,3

Výstup:

Příklad -7: Uložit výstup příkazu cut do souboru

Pokud chcete, můžete výstup příkazu cut také uložit do libovolného textového souboru. Následující příkaz převezme obsah souboru students.csv jako vstup, vystřihne druhé pole na základě oddělovače a vytiskne výstup do textového souboru s názvem ‚student_names.txt‘.

Výstup:

Závěr:

Nejběžnější použití příkazu cut se v tomto kurzu pokusíme vysvětlit pomocí výše uvedeného příklady. Doufám, že použití příkazu cut bude čtenářům po provedení výše uvedených příkladů vymazáno.

Leave a Reply

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *