【问题标题】:how sort file with tab delimiter如何使用制表符分隔文件对文件进行排序
【发布时间】:2013-08-24 16:57:24
【问题描述】:

现在我生成一个文本文件,将值存储为 \t 值1 值2 值3。

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

sort a.txt -o a.txt1

发现它发生了错误

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

found =google 被插入到 google 之间。为什么会发生,好奇怪。

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

【问题讨论】:

标签: shell


【解决方案1】:

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

【讨论】:

【解决方案2】:
 sort -n x.txt
google 1 1
google 1 2
google 1 3
google 1 3
=google 1 4

【讨论】:

    猜你喜欢
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    相关资源
    最近更新 更多