我有一个非常大的制表符分隔的文本文件.文件中的许多行对于文件中的一列具有相同的值.我想把它们放在同一行.例如:
a foo
a bar
a foo2
b bar
c bar2
Run Code Online (Sandbox Code Playgroud)
运行脚本后,它应该成为:
a foo;bar;foo2
b bar
c bar2
Run Code Online (Sandbox Code Playgroud)
我怎样才能在shell脚本或Python中执行此操作?
谢谢.
使用 awk 你可以尝试这个
{ a[$1] = a[$1] ";" $2 }
END { for (item in a ) print item, a[item] }
Run Code Online (Sandbox Code Playgroud)
因此,如果您将此 awk 脚本保存在名为 awkf.awk 的文件中,并且输入文件是 ifile.txt,请运行该脚本
awk -f awkf.awk ifile.txt | sed 's/ ;/ /'
Run Code Online (Sandbox Code Playgroud)
sed 脚本的作用是删除前导 ;
希望这可以帮助
归档时间: |
|
查看次数: |
3241 次 |
最近记录: |