我有一个巨大的制表符分隔的文件,我想在它的第二列排序。我需要使用制表符作为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的解决方案都可以。
发布于 2009-01-09 01:06:40
在我的机器上(Mac bash提示符,GNU排序...)这是可行的:
sort -t ' ' -k 2,2 in.txt > out.txt(引号之间有一个“实际”制表符。)
要获得该选项卡,我键入CTRL-V,tab (CTRL-V后跟TAB)。
编辑:我现在已经在Windows机器上通过cygwin提示符对其进行了测试,它在那里也能正常工作(正如我所料,bash就是bash)。
发布于 2009-07-17 12:14:37
您需要在\t前面添加一个$符号来打开字符串插值,这样制表符实际上会被发送到排序。这应该可以在任何终端上工作:
sort -t $'\t' -k 2,2 in.txt > out.txt发布于 2011-04-02 16:00:18
在Windows命令提示符中,我找到的最简单的解决方案是先禁用制表符补全,方法是:
cmd /f:off然后,您可以键入文字制表符。
https://stackoverflow.com/questions/426647
复制相似问题