Grep un CUT

Dažreiz rodas nepārvarama vēlme  kaut ko sameklēt log failos un šādos gadījumos bez grep un cut neiztikt.
Šādi izskatījās DHCP logā atrast rindiņas, kuras satur vārdu Host, no tām neparādīt, kurās ir D8 vai 371. Attēlot tikai 2. kolonu (kolonas atdalās ar ‘=’ zīmi). Sakārtot alfabēta secībā. Datorvalodā tas izskatās šādi:
grep “Host” 19.04 | grep -v “D8” | grep -v “371”|cut -d= -f2|sort
Ja vēl grib uzzināt cik rindiņas kopā sanāca:
grep “Host” 19.04 | grep -v “D8” | grep -v “371”|cut -d= -f2|sort|wc -l

Pāris noderīgi switchi-
grep:
-A 5 izvadīt 5 rindiņas pēc atrastās sakarības
-B 5 izvadīt 5 rindiņas pirms atrastās sakarības
-n izvadīt rindiņas nummuru, pie kuras atrasta sakarība
-v izvadīt visas rindiņas, kurās nav atrasta sakarība

cut:
-d norāda kolonu atdalītāju, ja tas ir tukšumzīme, tad -d’ ‘
-f kuru kolonu izvadīt, -f1,3, tiks izvadīta 1 un 3 kolona
-c griešana pēc simbola
Piemērs:
echo “123456789” | cut -c -5
12345
echo “123456789” | cut -c 5-
56789
echo “123456789” | cut -c 3-7
34567
echo “123456789” | cut -c 5
5
wc -l saskaita izvadāmās rindiņas

http://www.thelinuxblog.com/using-cut-shellscript-string-manipulation/
http://ss64.com/bash/grep.html
http://www.uccs.edu/~ahitchco/grep/

Leave a Reply