发新话题
打印

sed的小问题.

本主题由 dearvoid 于 2008-6-11 12:52 关闭

sed的小问题.

文本:
名称        年    成绩
TUDOU01  1985  79
TUDOU01  1986  84
XXX1      1985   43
XXX1      1985    52
YYY1      1985   59
YYY1      1953   32
把第二个重复的名称去掉,如何实现?      
前进、前进、再前进

TOP

用uniq来搞定是最简单的了。      

TOP

理解错了!只是去掉名称,其它不分保留.      
前进、前进、再前进

TOP

楼主可以给出期望的结果吗
我也不理解题目      
面包会有的 女人也会有的
_______________________

TOP

结果是:
文本:
名称        年    成绩
TUDOU01  1985  7
           1986  84
XXX1      1985   43
           1985    52
YYY1      1985   59
           1953   32      
前进、前进、再前进

TOP

复制内容到剪贴板
代码:
awk ' !a[$1] ++ { printf "%s", $1 }; {print "\t",$2,$3}'
awk这种经典用法在本论坛已经重复好多次啦      
面包会有的 女人也会有的
_______________________

TOP

用sed好实现吗??      
前进、前进、再前进

TOP

sed 应该比较麻烦. sed 不擅长处理前后有逻辑关系的文件      
'
梅须逊雪三分白 雪却输梅一段香

TOP

找到答案了:
:%!sed '{N;s/\(^...\)\(.*\)\n\1\(.*\)/\1\2\n\3/;}'      
前进、前进、再前进

TOP

上面的答案的局限性太大,看来用sed确实不方便.      
前进、前进、再前进

TOP

发新话题