Ako používať príkaz linux cut


Linuxový príkaz cut je užitočný na zobrazenie obsahu riadkov súboru a rozdelí obsah tak, ako chceme. Príkaz cut môže orezať riadky podľa znakov, na základe oddeľovača alebo podľa bajtov.

Ak dostaneme zoznam e-mailov alebo položiek oddelených čiarkami alebo medzerami, môžeme použiť príkaz cut na jednoduché prečítanie obsahu.

Ak chcete začať, vytvorte súbor

$ nano filecut

S obsahom:

mail1@domain1.com, mail2@domain2.com, mail3@domain3.com, mail4@domain4.com

Uložte stlačením ctrl+x.

Falošné e-mailové adresy sú oddelené čiarkou a medzerou, na zobrazenie obsahu medzi čiarkami musíte použiť parameter -d (oddeľovač), zadajte:

$ cut -d ‘,’ -f1 <FileName>
mail1@domain1.com

Môžeme tiež zobraziť viac polí, môžete tiež použiť parameter „f, typ:

$ cut -d ',' -f 1,2,3 filecut
mail1@domain1.com, mail2@domain2.com, mail3@domain3.com
$ nano abc
With content;
abcdefghijklmn

Teraz pomocou príkazu zobrazíme prvé 4 znaky po bajtoch, 1 znak=1 bajt:

:
# cut -b 1,2,3,4 abc
abcd

Príkaz cut nám umožňuje zobraziť rozsahy bajtov, zobraziť medzi typom bajt 2 a 7:

# cut -b 2-7 abc
bcdefg

Teraz vytvorte dokument so slovami:

$ nano words
And include words:
word1
word2
word3
word4
word6
word7

Stlačením ctrl+x uložíte a zatvoríte zoznam

Pomocou príkazu cut vypíšeme piaty znak každého riadku:

$ cut -b 5 words
1
2
3
4
5
6
7

Vytvorte súbor s názvom stĺpce:

nano columns
With content (separated with TAB,not space):
column1line1 column2line1 column3line1 column4line1
column1line2 column2line2 column3line2 column4line2
column1line3 column2line3 column3line3 column4line3
column1line4 colmun2line4 column3line4 column4line4

Teraz použite vystrihnúť na zobrazenie tretieho poľa zadaním:

$ cut -f 3 columns
column3line1
column3line2
column3line3
column3line4

Ako vidíte, cut zobrazuje obsah tretieho stĺpca, môžeme zobraziť viac ako jeden stĺpec s jedným poradím:

$ cut -f 1,3 columns
column1line1 column3line1
column1line2 column3line2
column1line3 column3line3
column1line4 column3line4

Pozrime sa na súbor /etc/passwd a zobrazme jeho segmenty s rezom.

$ less /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
:
Segments are separated by ":", lets display the first field, before the ":":
# cut -f 1 -d ':' /etc/passwd
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-timesync
systemd-network
systemd-resolve
systemd-bus-proxy

Môžeme zobraziť viac ako jeden stĺpec pridaním viacerých polí za parameter ‘f:

# cut -f 1,6 -d ':' /etc/passwd
root:/root
daemon:/usr/sbin
bin:/bin
sys:/dev
sync:/bin
games:/usr/games
man:/var/cache/man
lp:/var/spool/lpd
mail:/var/mail
news:/var/spool/news
uucp:/var/spool/uucp
proxy:/bin
www-data:/var/www
backup:/var/backups
list:/var/list
irc:/var/run/ircd
gnats:/var/lib/gnats
nobody:/nonexistent
systemd-timesync:/run/systemd

Vyššie uvedený príkaz uvádza prvý a šiesty stĺpec oddelené „:“, vidíme používateľské meno používateľa a domovský adresár.

Súvisiace články: