说明:蓝色=命令名称
浅绿=命令参数
浅蓝=选项
紫色=目录
系统环境:CentOS 6.2 i686
内容如下:
650) this.width=650;” border=0>
要求a:前面数字相同的输出后面字母最长的一个
方法:awk -F. ‘{a[$1]=$0}END{for(i in a)print a[i]}’ test2650) this.width=650;” border=0>
解析:以 . 为分隔符,因为排序是以后面字母由短到长排列,a[$1] 最后就等于最长的一个。
要求b:前面数字相同,后面字母最长的一个不输出,其他全输出。
方法:awk -F. ‘{a[$1]=$0;b[NR]=$0;if(length(b[NR-1])<length(a[$1])&&NR!=1)print b[NR-1]}’ test2
650) this.width=650;” border=0>
解析: if(length(b[NR-1])<length(a[$1])&&NR!=1) 通过字符长度对比输出短的一个,且NR=1时不输出,否则会多数出一个空行。