awk总结

awk:

awk ‘print{$1,$2}’ grade.txt             打印单独记录

awk ‘BEGIN print{“Name         Belt\n-------------------------------”} print{$1”\t”$4} END {print “end-of-report”}’ grade.txt          打印报告头尾

awk ‘$4 ~ /48/ {print $0}’ grade.txt                   匹配

awk ‘$4 == “48” {print $0}’ grade.txt      精确匹配

awk ‘$4 !~ /48/ {print $0}’ grade.txt        不匹配

awk ‘{if ($3 < $4) print $1}’ grade.txt       比较

awk ‘/[Gg]reen/’ grade.txt                         匹配包含Green或green的行

awk ‘$1 ~ /^…a/’ grade.txt                        第一列中的第四个字符为a

awk ‘$1 ~ /(Green | Blue)/’ grade.txt               第一列是Green或Blue的行

awk ‘/^48/’ grade.txt                                  以48开头的行

awk ‘{if ($1 == “hello”) $6 = $6-1; print $1,$6}’ grade.txt        修改域值

awk ‘tot += $6; END {print “Totle Number is : ”tot}’ grade.txt       统计

ls -l | awk ‘$1 ~ /^[^d]/ {print $9”\t”$5} {tot += $5} END {print “totle size is : ”tot” KB”}’  打印文件名及其长度,并统计总长度

awk –F”:” ‘{OFS=”-”} {print NR,$1,$2,$3}’ grade.txt       输出分隔符,行号

===============================================================

sed:

sed –n `1-3p` quote.txt             打印1至3行

sed –n `/The/ p` quote.txt        只显示匹配The的行

sed –n `4, /The/ p` quote.txt   第四行匹配

sed –n `$p` quote.txt                 最后一行

sed –e `/music/=` quote.txt              打印匹配的行号

echo “Mr Willam” | sed `s/Mr /& Bruce/g`              追加Mr Bruce Willam

echo “file” | sed `s/$/.doc/g`                              增加扩展名file.doc

sed `s/old/new/` filename quote.txt                 替换第一个

sed `s/old/new/4` quote.txt                       替换第四个

sed `s/\(.*\)old/\1new/` quote.txt           替换最后一个

sed `/old1/s/old2/new/g`         quote.txt          将出现old1的行中old2全部替换为new

sed `/old1/!s/old2/new/g` quote.txt       除了old1的行都替换

sed `1,6 s/old/new/` quote.txt                  替换1至6行的第一个old

sed –n `/word/ !p` filename              显示文件中不带有word的行

sed `1,6 d` filename                   删除1到6行

sed `/word/ !d` filename          删除除word的行

sed G filename         每一行增加空行

sed `/^$/d;G` filename    删除原有的空行,增加空行Sort:

sort –t: -r video.txt        逆序

sort –t: +3n video.txt     对第四个列按数值排序

sort –t: +1.2 video.txt    按第二列的第三个字符排序

sort –t: -k4 video.txt      第四个列

sort –t: -u video.txt        去除重复行

sort –t: -k4 –k1 video.txt              先以第四列,再以第一列

sort –t: +0 -2 +3 video.txt     先以第0域,忽略第二域(第三列),再以第三域

sort –t: -m v1.txt v2.txt         合并

===============================================================

uniq:

uniq –c myfile.txt         显示重复的数目

uniq –d myfile.txt         显示重复出现的行

uniq –n2 myfile.txt       只测试第二列

===============================================================

join:

join –j1 4 –j2 2 peers peers2  连接peers域4,匹配peers2域2

===============================================================

cut:

cut –d: -f1,3 pers    以:分割的第1,3列

===============================================================

paste:

paste –d: pas1 pas2        以:为分割粘贴为两列

===============================================================

split:

split -2 big.txt        按每两行进行分割

猜你喜欢

转载自zhangfy068.iteye.com/blog/1498123
awk