[size=small]
AWK有如文本数据库的功能!
awk -F ‘分隔符' '{ if ($2 != 0) print $0}' file
awk '{printf "%s;\n", $0}' 可以像C语言那样参数化输出
awk '{if($2=="") printf "%s,0\n",$1 ;else printf "%s,%s\n",$1,$2}' file
上面这命令的意思是:
打印file以分隔符,区分字段,当$2 (第二列的内容)不为0时,打印$0 (整行)
$0 一行
$1 第一列
内置变量:
[table]
|awk '{print NF,NR,$0}END{print FILENAME}' tab1||
|NF |列数|
|NR |行数|
|FILENAME |文件名|
[/table]
[url=http://www.cnblogs.com/caibird2005/archive/2009/04/27/1444647.html]http://www.cnblogs.com/caibird2005/archive/2009/04/27/1444647.html[/url]
[url=http://blog.chinaunix.net/u1/38902/showart_325099.html]http://blog.chinaunix.net/u1/38902/showart_325099.html[/url]
http://bbs.firnow.com/dview84t52739.html
每行后面增加一行空行 awk '1;{print }'
每行后面增加二行空行 awk '1;{print \n }'
打印最后一行的最后一列 awk '{ field = $NF }; END{ print field }'
打印每行的最后一列 awk '{ print $NF }'
打印列数超过4的行 awk 'NF > 4'
打印最后一列大于4的行 awk '$NF > 4'
打印每行,并删除第二列 awk '{ $2 = ; print }'
$0变量:它指的是整条记录。如$ awk '{print $0}' test将输出test文件中的所有记录。
如果第2个域小于第5个域则打印 awk '{if ($2 100) print $1 ; else print ok }'
[/size]
AWK有如文本数据库的功能!
awk -F ‘分隔符' '{ if ($2 != 0) print $0}' file
awk '{printf "%s;\n", $0}' 可以像C语言那样参数化输出
awk '{if($2=="") printf "%s,0\n",$1 ;else printf "%s,%s\n",$1,$2}' file
上面这命令的意思是:
打印file以分隔符,区分字段,当$2 (第二列的内容)不为0时,打印$0 (整行)
$0 一行
$1 第一列
内置变量:
[table]
|awk '{print NF,NR,$0}END{print FILENAME}' tab1||
|NF |列数|
|NR |行数|
|FILENAME |文件名|
[/table]
[url=http://www.cnblogs.com/caibird2005/archive/2009/04/27/1444647.html]http://www.cnblogs.com/caibird2005/archive/2009/04/27/1444647.html[/url]
[url=http://blog.chinaunix.net/u1/38902/showart_325099.html]http://blog.chinaunix.net/u1/38902/showart_325099.html[/url]
http://bbs.firnow.com/dview84t52739.html
每行后面增加一行空行 awk '1;{print }'
每行后面增加二行空行 awk '1;{print \n }'
打印最后一行的最后一列 awk '{ field = $NF }; END{ print field }'
打印每行的最后一列 awk '{ print $NF }'
打印列数超过4的行 awk 'NF > 4'
打印最后一列大于4的行 awk '$NF > 4'
打印每行,并删除第二列 awk '{ $2 = ; print }'
$0变量:它指的是整条记录。如$ awk '{print $0}' test将输出test文件中的所有记录。
如果第2个域小于第5个域则打印 awk '{if ($2 100) print $1 ; else print ok }'
[/size]