学习shell编程 – 5. sed和awk


#sed 

#在names.txt中找到所有包含 "chen"的行,并打印出来. 选项"-n"的意思是不打印没有匹配的行
$ sed -n '/chen/p' names.txt

#读取names.txt中的所有行,去掉其中包含'chen'的行,再保存在新文件中
$ sed '/chen/d' names.txt > names-no-chen.txt

#若不指定正则表达式,则对每一行都执行操作
$ sed -n -e 'p' names.txt #将打印每一行

#可以在管道中使用sed
$ less names.txt|sed '/chen/d'


################################################
#awk 

#打印花名册中的第1列和第3列
$ awk '{print $1, $3 ; }' names.txt
#打印花名册中含有“female"的行
$ awk '/female/{print  ; }' names.txt
#男的干活,女的看电视
$ awk '$2 ~ /male/ {print $1 " work" ; } /female/ {print $1 " watch tv "}' names.txt
#管道中使用awk
$ less names.txt | awk '{print $1, $3 ; }'


Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.