practical unix utilities for text processing

29
Practical *nix utilities (for text processing) grep | sed | awk | xargs | etc

Upload: anton-arhipov

Post on 01-Nov-2014

7.673 views

Category:

Technology


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Practical unix utilities for text processing

Practical *nix utilities(for text processing)

grep | sed | awk | xargs | etc

Page 2: Practical unix utilities for text processing

whoami

Page 3: Practical unix utilities for text processing

/

sed vim

awk

ls

cattac

head

tail split

wc

sumsort

uniqkill

cut

paste

join

tr

dir

mv duecho

test

expr

tee

grep

Page 4: Practical unix utilities for text processing

/

DB

Mega

AppFiles

Log

Page 5: Practical unix utilities for text processing

pwd | ls | find | tee

GNU Coreutilshttp://www.gnu.org/software/coreutils/

The takeaway command: man> info coreutils

Page 6: Practical unix utilities for text processing

pwd | ls | find | teeList of files:

ls –lls –1ls –latr

find . –name *.txt

Page 7: Practical unix utilities for text processing

pwd | ls | find | teeSeek for a string in a file:

grep “cat” file.txtgrep –v “dog” file.txtgrep –i “PaTtErN” file.txtegrep “cat|dog” file.txtzgrep “cat” file.txt.gz

Page 8: Practical unix utilities for text processing

for / xargs

for file in `find . –name *tmp` do rm $file donefind . –name *tmp | xargs rm

Do something with each file:

Page 9: Practical unix utilities for text processing

pwd | ls | find | teefind + grep

find . -name '*txt' -exec grep -l aaa {} \;

find . -name '*txt' | xargs grep -l aaa

Page 10: Practical unix utilities for text processing

pwd | ls | find | tee

ls

cattac

head

tail split

wc

sumsort

uniqkill

cut

paste

join

tr

dir

mv duecho

test

expr

tee

grep

Page 11: Practical unix utilities for text processing

paste

Page 12: Practical unix utilities for text processing

join

Page 13: Practical unix utilities for text processing

sort | uniq

Page 14: Practical unix utilities for text processing

wc

Page 15: Practical unix utilities for text processing

cut

Page 16: Practical unix utilities for text processing

csplit

Page 17: Practical unix utilities for text processing

sed awk

Page 18: Practical unix utilities for text processing

sed s for substitution

sed ‘s/cat/dog/’ # cat -> dog

sed ‘s/\(a\)\(b\)/\2\1/’# ab -> ba

Page 19: Practical unix utilities for text processing

sed p for printing

sed –n ‘/dog/p’ # print lines that match ‘dog’

sed –n ‘/start/,/end/p’# print range

Page 20: Practical unix utilities for text processing

sed d to delete

sed ‘/dog/d’# delete lines that match ‘dog’

sed ‘1,/pattern/d’# delete range

Page 21: Practical unix utilities for text processing

sed | and –e for invocation

sed ‘s/a/A/’ | sed ‘s/b/B/’# sed –e ‘s/a/A/’ –e ‘s/b/B/’ #

Page 22: Practical unix utilities for text processing

sed { .. } to group the commands

sed ‘/pattern/ { s/p/P/ s/e/E/ }’#pattern -> PattErn

Page 23: Practical unix utilities for text processing

sed r to read a file

sed ‘/include/ r file.txt’# insert file.txt after include

w to write to a file

sed ‘/pattern/ w file.txt’# write matched lines to a file

Page 24: Practical unix utilities for text processing

sedtris

Page 25: Practical unix utilities for text processing

awkaaa bbb cccaaa bbb zzz

awk '/zzz/' 1.txt grep zzz 1.txt

aaa bbb zzz

Page 26: Practical unix utilities for text processing

awkawk 'BEGIN {<initializations>} <pattern 1> {<actions>} <pattern 2> {<actions>} ... END {<final actions>}'

Page 27: Practical unix utilities for text processing

awkawk 'BEGIN {a=0, b=0} /aaa/ {a++} /bbb/ {b++} END {printf “%d\t%d”,a,b}'

Page 28: Practical unix utilities for text processing

awk

awk '{arr[$2]+=$1} END { for (id in arr) printf "%s\t%d\t\n",id,arr[id]}'

Page 29: Practical unix utilities for text processing

exit

@antonarhipov