当前位置:  开发笔记 > 编程语言 > 正文

如何使用cygwin sort对第n列上的制表符分隔文件进行排序?

如何解决《如何使用cygwinsort对第n列上的制表符分隔文件进行排序?》经验,为你挑选了2个好方法。

我有一个巨大的制表符分隔文件,我想在其第二列上排序.我需要使用制表符作为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的解决方案很好.



1> PEZ..:

在我的机器上(Mac bash提示符,GNU排序......)这适用:

sort -t '   ' -k 2,2 in.txt > out.txt

(引号之间的"真实"标签.)

要获取选项卡,我键入CTRL-V,TAB(CTRL-V后跟TAB).

编辑:我现在已经在cygwin提示符的Windows机器上测试它,它在那里工作相同(如我所料,bash是bash).



2> Joakim Lundb..:

您需要在\ t前面添加一个$符号来打开字符串插值,因此实际上该选项卡会被发送到sort.这适用于任何终端:

sort -t $'\t' -k 2,2 in.txt > out.txt


我没有在"任何终端"中包含windows命令提示符=)
推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有