Chinaunix首页 | 论坛 | 博客
  • 博客访问: 180224
  • 博文数量: 42
  • 博客积分: 315
  • 博客等级: 二等列兵
  • 技术积分: 461
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-16 11:55
文章分类

全部博文(42)

文章存档

2013年(29)

2012年(7)

2011年(6)

我的朋友

分类: LINUX

2013-05-09 11:20:42

awk '{print NR}' aa.txt 变量NR,记录号
awk 'END {print}' aa.txt 最后一行
awk '/22$/' aa.txt 以22结尾的
awk '/^birdman/' aa.txt 以birdman开头的的
awk '/\<^birdman.*22$\>/' aa.txt 以birdman 开头 22结尾的行
awk '/\<^birdman.*22$\>/{print $2}' aa.txt 以birdman 开头 22结尾的行打印第二列
awk -F'[._]' '{print $2}' aa.txt  指定.和_为域分隔符
awk '/\<^(birdman|aa).*(22|33)$\>/' aa.txt 以birdman或aa开头,22或33结尾的行
awk '/\<^[78].*[23]$\>/' aa.txt
awk '/^[89].*3$/' aa.txt 匹配以8或9开头 以3结束的行
awk '/birdman/{print $5+10}' aa.txt  匹配birdman的行的第五列加10
awk '/birdman/{print ($5 > 1633 ? "ok" : "error")}' aa.txt  匹配birdman的行,如果第五列大于1633则打印?后面的ok,否则大于:后面的error
awk '$1 != "birdman_0013"' aa.txt $1不等于birdman_0013则打印
awk '/^/,/^<\/SITES>/' /game/server/webapp/client/config.xml 打印以开头的行,到开头的行的所有内容
sed 可用
sed -n "//,/<\/SITES>/p" config.xml

awk '{if ($3=="/dev/sda2" && $9 =="/usr/local") print $0}' 7z.log
awk '{if ($3=="/dev/sda2" || $9 =="/usr/local") print $0}' 7z.log 
awk '$1 ~/^[0-9].*[0-3]$/' aa.txt 

awk 变量
awk '/birdman/{count=$5*3;print count}' aa.txt  匹配birdman的行,赋予一个变量count,为第三列*3,并打印
awk 'BEGIN {for(x=0;x<=100;x+=1) print x}'
a='$1,$2,$3,$4,$5';TMP=`mktemp`;echo '{print '$aa'}'>$TMP;awk -F"\t" -f $TMP aa.txt

awk '{sum+=$1}END{print sum}' file 将第一列相加
阅读(918) | 评论(0) | 转发(0) |
0

上一篇:linux 日志记录方式

下一篇:sed 的使用

给主人留下些什么吧!~~