相关问题:https ://stackoverflow.com/posts/18164848
输入文件 input.txt 是一个制表符分隔的 unicode txt
a A e f m
b B g h
c C i j
b B k l
我想匹配第一列和第二列并合并。所以我想得到 output.txt
a A e f m
b B g h k l
c C i j
代码必须检测输入中的最大列数。因为在这个例子中是 5,所以“k l”是从第 6 列开始的。
实际上,当它们都是数字时,我几乎设法使用 Matlab 做到了这一点。但是哦,当它们是字母时,Matlab 在处理 unicode 方面非常糟糕,尽管我读了 stackoverflow 关于如何在 Matlab 中处理 unicode 我放弃了。所以我现在转向python。
https://stackoverflow.com/posts/18164848的Nirk回应说,下面的行就可以了。
awk -F\t '{a=$1 "\t" $2; $1=$2=""; x[a] = x[a] $0} END {for(y in x) print y,x[y]}'
但是,此代码似乎没有指定输入和输出文件。