GNU/Linux >> Znalost Linux >  >> Linux

10 praktických příkladů příkazu Vyjmout v Linuxu pro výběr sloupců souboru

Pro zpracování textu se používá Linux command cut. Tento příkaz můžete použít k extrahování části textu ze souboru výběrem sloupců.

Tento výukový program poskytuje několik praktických příkladů příkazu vyjmout, který můžete použít ve svých každodenních činnostech na příkazovém řádku.

Pro většinu příkladu budeme používat následující testovací soubor.

$ cat test.txt
cat command for file oriented operations.
cp command for copy files or directories.
ls command to list out files and directories with its attributes.

1. Vyberte Sloupec znaků

Chcete-li ze souboru extrahovat pouze požadovaný sloupec, použijte volbu -c. Následující příklad zobrazuje 2. znak z každého řádku souboru test.txt

$ cut -c2 test.txt
a
p
s

Jak je vidět výše, znaky a, p, s jsou druhým znakem z každého řádku souboru test.txt.

2. Vyberte Sloupec znaků pomocí Rozsah

Rozsah znaků lze také extrahovat ze souboru zadáním počáteční a koncové pozice oddělené znakem -. Následující příklad extrahuje první 3 znaky každého řádku ze souboru s názvem test.txt

$ cut -c1-3 test.txt
cat
cp
ls

3. Vyberte Sloupec znaků pomocí Počáteční nebo Koncové pozice

Příkazu řez lze předat počáteční nebo koncovou polohu pomocí volby -c.

Následující text specifikuje pouze počáteční pozici před „-“. Tento příklad extrahuje od 3. znaku do konce každého řádku ze souboru test.txt.

$ cut -c3- test.txt
t command for file oriented operations.
 command for copy files or directories.
 command to list out files and directories with its attributes.

Následující text určuje pouze koncovou polohu za znakem „-“. Tento příklad extrahuje 8 znaků ze začátku každého řádku ze souboru test.txt.

$ cut -c-8 test.txt
cat comm
cp comma
ls comma

Pokud nezadáte číslo před nebo za „-“, jak je znázorněno níže, vytiskne se celý řádek.

$ cut -c- test.txt
cat command for file oriented operations.
cp command for copy files or directories.
ls command to list out files and directories with its attributes.

4. Vyberte konkrétní pole ze souboru

Namísto výběru x počtu znaků, pokud chcete extrahovat celé pole, můžete kombinovat volbu -f a -d. Volba -f určuje, které pole chcete extrahovat, a volba -d určuje, jaký je oddělovač pole, který se používá ve vstupním souboru.

Následující příklad zobrazuje pouze první pole každého řádku ze souboru /etc/passwd pomocí oddělovače pole:(dvojtečka). V tomto případě je 1. pole uživatelské jméno. Soubor

$ cut -d':' -f1 /etc/passwd
root
daemon
bin
sys
sync
games
bala

5. Vyberte více polí ze souboru

Můžete také extrahovat více než jedno pole ze souboru nebo stdout. Níže uvedený příklad zobrazuje uživatelské jméno a domovský adresář uživatelů, kteří mají přihlašovací shell „/bin/bash“.

$ grep "/bin/bash" /etc/passwd | cut -d':' -f1,6
root:/root
bala:/home/bala

Chcete-li zobrazit rozsah polí, zadejte počáteční pole a koncové pole, jak je znázorněno níže. V tomto příkladu vybíráme pole 1 až 4, 6 a 7

$ grep "/bin/bash" /etc/passwd | cut -d':' -f1-4,6,7
root:x:0:0:/root:/bin/bash
bala:x:1000:1000:/home/bala:/bin/bash

6. Vyberte pole pouze v případě, že řádek obsahuje oddělovač

Pokud v našem příkladu /etc/passwd předáte jiný oddělovač než :(dvojtečka), cut zobrazí pouze celý řádek.

V následujícím příkladu jsme zadali oddělovač jako | (potrubí) a příkaz cut jednoduše zobrazí celý řádek, i když nenajde žádný řádek, který má | (potrubí) jako oddělovač.

$ grep "/bin/bash" /etc/passwd | cut -d'|'  -f1
root:x:0:0:root:/root:/bin/bash
bala:x:1000:1000:bala,,,:/home/bala:/bin/bash

Je však možné filtrovat a zobrazovat pouze řádky, které obsahují zadaný oddělovač pomocí volby -s.

Následující příklad nezobrazuje žádný výstup, protože příkaz cut nenalezl žádné řádky, které mají | (pipe) jako oddělovač v souboru /etc/passwd.

$ grep "/bin/bash" /etc/passwd | cut -d'|' -s -f1

7. Vyberte všechna pole kromě zadaných polí

Pro doplnění seznamu výběrových polí použijte volbu –doplňte.

Následující příklad zobrazuje všechna pole ze souboru /etc/passwd kromě pole 7

$ grep "/bin/bash" /etc/passwd | cut -d':' --complement -s -f7
root:x:0:0:root:/root
bala:x:1000:1000:bala,,,:/home/bala

8. Změňte oddělovač výstupu pro zobrazení

Ve výchozím nastavení je výstupní oddělovač stejný jako vstupní oddělovač, který zadáváme ve volbě cut -d.

Chcete-li změnit výstupní oddělovač, použijte volbu –output-delimiter, jak je uvedeno níže. V tomto příkladu je vstupní oddělovač :(dvojtečka), ale výstupní oddělovač je # (hash).

$ grep "/bin/bash" /etc/passwd | cut -d':'  -s -f1,6,7 --output-delimiter='#'
root#/root#/bin/bash
bala#/home/bala#/bin/bash

9. Změňte oddělovač výstupu na Nový řádek

V tomto příkladu je každé pole výstupu příkazu řezu zobrazeno na samostatném řádku. Stále jsme používali –output-delimiter, ale hodnota je $’\n’, což znamená, že bychom měli jako výstupní oddělovač přidat nový řádek.

$ grep bala /etc/passwd | cut -d':' -f1,6,7 --output-delimiter=$'\n'
bala
/home/bala
/bin/bash

10. Kombinujte Cut s jiným výstupem příkazu Unix

Sílu příkazu cut lze realizovat, když jej zkombinujete s nějakým jiným unixovým příkazem stdout.

Jakmile zvládnete základní použití příkazu vyjmout, které jsme vysvětlili výše, můžete moudře použít příkaz vyjmout k vyřešení mnoha požadavků na manipulaci s textem.

Následující příklad ukazuje, jak můžete z výstupu příkazu ps extrahovat pouze užitečné informace. Také jsme ukázali, jak jsme filtrovali výstup příkazu ps pomocí grep a sed, než byl dán konečný výstup příkazu cut. Zde jsme použili možnost vyjmout -d a -f, kterou jsme vysvětlili ve výše uvedených příkladech.

$ ps axu | grep python | sed 's/\s\+/ /g' | cut -d' ' -f2,11-
2231 /usr/bin/python /usr/lib/unity-lens-video/unity-lens-video
2311 /usr/bin/python /usr/lib/unity-scope-video-remote/unity-scope-video-remote
2414 /usr/bin/python /usr/lib/ubuntuone-client/ubuntuone-syncdaemon
2463 /usr/bin/python /usr/lib/system-service/system-service-d
3274 grep --color=auto python

Linux
  1. Příkaz mv v Linuxu:7 základních příkladů

  2. cp Command v Linuxu:7 praktických příkladů

  3. Linux Shutdown Command:5 praktických příkladů

  1. 5 Praktické příklady Head Command v Linuxu

  2. V příkladech příkazů v Linuxu

  3. Příklady příkazů cut v Linuxu

  1. 8 Příklady příkazů hlavy v Linuxu

  2. 8 Příklady příkazů Stat v Linuxu

  3. soubor Příklady příkazů v Linuxu