Awk a Sed

1. Výpis riadku z /etc/passwd, ktorý obsahuje na začiatku string “roo”

cat /etc/passwd | awk /^roo/

2. Vypíšeme len adresáre z výpisu ls -l

ls -l | awk ‘/^d/ { print $9 }’

3. Vypíšeme celý riadok, ktorý obsahuje adresár:

ls -l | awk ‘/^d/ { print $0 }’

4. Vypíšeme obsah súboru /etc/passwd

awk '{ print $0 } ' /etc/passwd

5. Vypíšeme užívateľské mená z /etc/passwd

awk -F':' '{ print $1 }' /etc/passwd

6. Duplikujeme každý riadok:

awk '{ print } { print } ' /etc/passwd

alebo

awk '{ print ; print } ' /etc/passwd

7. Použijeme BEGIN na vytvorenie premennej a následne ju použijeme v END


awk 'BEGIN { CIARA="---------------"; print CIARA } { print } END { print CIARA }' /etc/passwd

8.Očíslujeme riadky z /etc/passwd

awk -F':' '{ print NR, $1 }' /etc/passwd

 

9. Výpis prvých 15 riadkov z /etc/passwd

awk ‘NR <= 15 { print }’ /etc/passwd

10. Vypíšeme všetkých užívateľov, ktorí maju v /etc/passwd bash

awk -F’:’ ‘$7 == “/bin/bash” ‘ /etc/passwd

11. Spočítame počet riadkov a sčítame čísla v druhom stĺpci

awk  ‘ NR > 0 { sum += $2 }END{ print “Pocet riadkov je”, NR, “a suma druheho stlpca je”,  sum }’ subor

12. Vypíšeme riadky, ktoré obsahujú písmeno R a vypíšeme zo stĺpca 3 od znaku 20 5 znakov, následne ich sčítame

awk ‘/R/ { print substr($3,20,5) }’ | awk ‘BEGIN{SUM=0} {SUM+=$1} END{print SUM}’

 

 

SED:

1. Substitucia slov/znakov:

sed s/day/night/ <old >new

2. Text dame do zatvorky, cisla nie:

 echo abcd1234 | sed 's/[a-z]*/(&)/'

3. Zdvojime cisla cez & co je docasne ulozisko
echo "123 abc" | sed 's/[0-9][0-9]*/& &/'

4. Vymazeme cisla, ostane iba text s malymi pismenami
echo abcd123 | sed 's/\([a-z]*\).*/\1/'

5. Zamenime poradie stringov:

echo "abcd dcba" | sed 's/\([a-z]*\) \([a-z]*\)/\2 \1/'

6. Otocime text odzadu:

echo 123 | sed 's/^\(.\)\(.\)\(.\)/\3\2\1/'

7. Substitucia v jednom kroku viac znakov:
sed -e 's/a/A/' -e 's/b/B/' <old >new

8. Zmenime velke A na male a v riadkoch 1 - 100
sed '1,100 s/A/a/'

9. Vypis prvych 10 riadkov:
sed -n '1,10 p'
sed -n '11,$ !p'
sed '1,10 !d'
sed '11,$ d'

10. Editacia - pridanie riadku pred riadok so slovom "WORD"
#!/bin/sh
sed '
/WORD/ i\
Add this line before every line with WORD
'

11. Editacia - vymena riadku s vyskytom slova WORD za iny
#!/bin/sh
sed '
/WORD/ c\
Replace the current line with the line
'
12. Editacia - pridanie riadku pred, pridanie riadku po a vymena riadku s vyskytom slova WORD
#!/bin/sh
sed '
/WORD/ {
i\
Add this line before
a\
Add this line after
c\
Change the line to this one
}'
WordPress SEO fine-tune by Meta SEO Pack from Poradnik Webmastera