+ -
当前位置:首页 → 问答吧 → 请教一条awk语句

请教一条awk语句

时间:2011-06-21

来源:互联网

cat file
a;5
a;6
c;9
c;10
d;11
nawk 'BEGIN{FS=OFS=";"}{a[$1]=a[$1]?a[$1]"/"$2:$0;}END{for(i in a) print a[i]}' file
则可生产新的文件
a;5/6
c;9/10
d;11

但如果有这样一个文件
a;5
a;6
c;9
c;10
d;11
;12
我想得到的结果是
a;5/6
c;9/10
d;11
;12
即先判断$1如果为空格则不做处理,我尝试nawk 'BEGIN{FS=OFS=";"}{if($1=="")print $0;else{a[$1]=a[$1]?a[$1]"/"$2:$0;}END{for(i in a) print a[i]}}'
但是语法错误,请各位前辈帮忙,谢谢!

作者: conall   发布时间: 2011-06-21

你最开始给的那个awk脚本不就可以嘛,为什么要换?

作者: liion631818   发布时间: 2011-06-21