【问题标题】:bash sort ignoring non-alpha charactersbash排序忽略非字母字符
【发布时间】:2012-01-13 10:26:23
【问题描述】:

我正在尝试从标记文本文件中提取唯一标记列表。标签用尖括号分隔,每个标签名都以冒号开头:<:ttx>, <ol_2> 以此类推。

我首先在每个> 之后添加一个换行符,然后尝试sort。结果让我感到困惑,直到我意识到sort 忽略了前两个字符。

我是否需要添加一个开关,或者我的 Bbuntu 风格的 bash 是否会在没有选项的情况下使用 sort -d

【问题讨论】:

  • 嗯,-d 选项设计 以忽略非字母字符。究竟是什么问题?
  • 您应该包含命令、一些示例输入和输出以及您期望它产生的内容。
  • 每当您从排序中看到“奇怪”行为时,首先要检查的是您的语言环境设置以及它们如何影响事物。
  • 为什么<ol_2> 不以冒号开头? <ol_2> 是标签吗?

标签: bash ubuntu-9.10


【解决方案1】:

使用 LANG=C 禁用您的语言环境 => sort 通常效果更好:

grep -o '<:[A-Za-z0-9]>' your-tagged-text-file | LANG=C sort

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 2011-04-06
    • 2016-11-29
    • 2014-02-22
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多