Prehľad utilít
echo
: zapisuje slová oddelené medzerou na štandardný výstupprintf
: formátovaný výpis reťazcov v duchu Ccut
: berie riadky s položkami oddelenými jedným znakom oddeľovača a vyberá jednotlivé položky. Zároveň dokáže vracať podreťazce reťazca.read
: načíta riadok do premennejawk
: filtrovanie riadkov na základe vzorov; berie riadky s položkami oddelenými bielym miestom a vyberá položky.xargs
: Prevádza riadky na parametre príkazového riadka. [separátny článok]nl
: Čísluje riadkysed
: nahrádzanie textu v riadkoch; filtrovanie riadkov na základe kritérií. [separátny článok]tr
: nahrádzanie znakov, mazanie znakov, zlučovanie duplicitných znakovhead
: výber prvých n riadkovtail
: výber posledných n riadkov, výber riadkov od _n_tého do konca súboruuniq
: rušenie duplicitných riadkovwc
: spočítavanie riadkov, slov, znakov, bajtovsort
: triedi riadky podľa položiek
Filtrovať prvých n riadkov?
head
Prvé tri riadky:
head -n3 /etc/passwd
sed
Prvé tri riadky:
sed -n 1,3p /etc/passwd
Filtrovať posledných n riadkov?
tail
Posledné tri riadky
tail -n3 /etc/passwd
Preskočiť prvých n riadkov?
tail
Vynechá prvých 5 riadkov, resp. začne vypisovať až od 6. riadka
tail -n+6 /etc/passwd
sed
Vymaže prvý až piaty riadok:
sed 1,5d /etc/passwd
Vrátiť len riadky, ktoré obsahujú text / spĺňajú regulárny výraz
grep
Procesy používateľa novotnyr
, teda riadky začínajúce na novotnyr
:
ps auxw | grep ^novotnyr
Vrátiť len riadky, ktoré neobsahujú text
grep
Používatelia, ktorí nemajú zakázané prihlásenie
grep -v "/bin/false" /etc/passwd
Mám riadok s položkami oddelenými jedným znakom. Chcem vybrať len niektoré položky.
cut
Súbor /etc/passwd
má riadky s položkami oddelenými dvojbodkou. Prvá a siedma položka, teda login a shell:
cut -d":" -f1,7 /etc/passwd
awk
Položky na výstupe budú oddelené medzerou:
awk -F":" '{ print $1, $7} ' /etc/passwd
Mám riadok s položkami oddelenými jednou či viacerými medzerami. Chcem vybrať len niektoré položky.
Príkaz ls -l
vracia položky oddelené medzerami:
-rw------- 1 novotnyr novotnyr 56 Jan 4 17:42 mena.txt
tr
+ cut
Pomocou tr -s
zrušíme viacnásobné výskyty oddeľovača (medzery) a následne použijeme cut
.
ls -lA | tail -n+2 | tr -s " " | cut -d" " -f5,9
Príkaz tail
slúži na odseknutie prvého riadka so sumárnou informáciou.
tr
+ cut
[verzia 2]
Pomocou tr -s
nahradíme výskyty medzier tabulátormi a zároveň zrušíme viacnásobné výskyty. Následne použijeme cut
s implicitným oddeľovačom tabulátorom.
ls -lA | tail -n+2 | tr -s " " "\t" | cut -f5,9
Príkaz tail
slúži na odseknutie prvého riadka so sumárnou informáciou.
awk
V awk
použijeme vzor “ak je číslo riadku väčšie než 1” a následne vytlačíme piatu a deviatu položku. V awk
je implicitným oddeľovačom biele miesto.
ls -lA | awk 'NR > 1 { print $5, $9 }'
Chcem previesť medzery na podčiarkovníky
tr
echo "Jozef Mak" | tr " " "_"
Chcem zmeniť oddeľovač na iný znak
tr
Zmení dvojbodky na tabulátory v /etc/passwd
:
tr ":" "\t" < /etc/passwd
sed
Zmení dvojbodky na tabulátory v /etc/passwd
:
sed 's : \t g' /etc/passwd