原帖由 ly5066113 于 2009-3-6 18:09 发表
awk '!/^[[:blank:]]*$/&&!a[$1]++{if(++i%2==0) print " "$1;else printf $1}END{if(i%2==1) print ""}' urfile
原帖由 ly5066113 于 2009-3-6 18:09 发表
awk '!/^[[:blank:]]*$/&&!a[$1]++{if(++i%2==0) print " "$1;else printf $1}END{if(i%2==1) print ""}' urfile
原帖由 linuxboy823 于 2009-3-7 00:56 发表
TIM大哥
awk '!/^[[:blank:]]*$/&&!a[$1]++{if(++i%2==0) print " "$1;else printf $1}END{if(i%2==1) print ""}' urfile、、
红色部分如何理解,能否讲解一下,多谢!
原帖由 oldoger 于 2009-3-7 07:59 发表
给你全例子吧,假如文件如下:
[test@ ~ ]$ cat 1
11
12
11
13
14
11
15
16
16
12
那么使用!a[$1]++得到的结果如下
[test@ ~ ]$ awk '!a[$1]++' 1
11
12
13
14
15
16
原帖由 ly5066113 于 2009-3-9 10:23 发表
比黑哥的短一点。![]()
sed -r ':a;$!{N;s/\n\s*$//;s/(.*)(\)(.*)\n\2/\1\2\3/;ba;};s/\n/ /;D' urfile
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |