如何使用制表符分隔符排序文件

时间:2013-08-22 05:34:47

标签: shell

现在我生成一个文本文件,带将值存储为\ t value1 value2 valu3。

我想将此文本文件排序为value1

sort a.txt -o a.txt1

发现它发生了错误

google 1 1
google 1 2
google 1 3
=google 1 4
google 1 3

发现=谷歌是在谷歌之间插入的。为什么它发生了,太奇怪了。

我尝试了sort a.txt -t $'\t' -k 1 -o a.txt1,但它有同样的问题。

2 个答案:

答案 0 :(得分:2)

您的语言环境显然指定在排序时应忽略=。尝试将sort替换为LC_ALL=C sort。这将运行sort,环境变量LC_ALL暂时设置为C,这将覆盖您的区域设置(在任何区域设置感知程序中)到“传统”/遗留区域设置 - 无知“ C“locale。

答案 1 :(得分:0)

 sort -n x.txt
google 1 1
google 1 2
google 1 3
google 1 3
=google 1 4