我有一个巨大的制表符分隔文件,我想在其第二列上排序.我需要使用制表符作为cygwin排序中的字段分隔符.所以我需要这样的东西:
sort -t \t -k 2,2 in.txt > out.txt
但命令提示符按字面计算'\ t'而不是制表符.请注意,我需要在运行Cygwin的Windows机器上执行此操作.变化如
sort -t "\t" sort -t \"\t\"
不起作用,也没有把它放在cmd文件中,而实际的标签代替上面的\ t.
编辑:使用DOS shell或Cygwin bash shell的解决方案很好.
在我的机器上(Mac bash提示符,GNU排序......)这适用:
sort -t ' ' -k 2,2 in.txt > out.txt
(引号之间的"真实"标签.)
要获取选项卡,我键入CTRL-V,TAB(CTRL-V后跟TAB).
编辑:我现在已经在cygwin提示符的Windows机器上测试它,它在那里工作相同(如我所料,bash是bash).
您需要在\ t前面添加一个$符号来打开字符串插值,因此实际上该选项卡会被发送到sort.这适用于任何终端:
sort -t $'\t' -k 2,2 in.txt > out.txt