在Linux系统上,我有一个文件:
你好4
你好9
你好21
世界2
世界6
如何在公共第一个字段上加入这些行,并产生如下输出:
你好4 9 21
世界2 6
使用Linux的常用工具
答案 0 :(得分:0)
awk '{a[$1]=a[$1]" "$2;}END{for( i in a) print i""a[i];}' YOUR_FILE_HERE
通知:
这只适用于" space"分开的"两个字段"连续
答案 1 :(得分:0)
我亲爱的男孩,你必须自己写一个.sh
剧本:
或使用@amow为您编写的awk
脚本。
答案 2 :(得分:0)
您正在尝试进行某种数据库操作,即选择和组,因此用于此类任务的好工具将是awk
awk 'BEGIN { FS=" "}{arr[$1]=arr[$1] " " $2 }END {for (i in arr) print i,arr[i]}' file
其中file
是您的文件