【问题标题】:Unix ls command file name sort (differently than default)Unix ls 命令文件名排序(不同于默认值)
【发布时间】:2011-11-22 02:28:07
【问题描述】:
Chris-Muenchs-Mac-Book-Pro:database cmuench$ ls -1
database.sql
database_10.0-10.1.sql
database_10.1-10.2.sql
database_10.3-10.4.sql
database_10.4-10.5.sql
database_10.5-10.6.sql
database_10.9-11.0.sql
database_11.0-11.1.sql
database_11.1-11.2.sql
database_11.2-11.3.sql
database_11.6-12.0.sql
database_12.1-12.2.sql
database_12.11-12.12.sql
database_12.12-12.13.sql
database_12.13-12.14.sql
database_12.3-12.4.sql
database_12.4-12.5.sql
database_12.5-12.6.sql
database_12.9-12.10.sql

有没有办法像这样排序?

database.sql
database_10.0-10.1.sql
database_10.1-10.2.sql
database_10.3-10.4.sql
database_10.4-10.5.sql
database_10.5-10.6.sql
database_10.9-11.0.sql
database_11.0-11.1.sql
database_11.1-11.2.sql
database_11.2-11.3.sql
database_11.6-12.0.sql
database_12.1-12.2.sql
database_12.3-12.4.sql
database_12.4-12.5.sql
database_12.5-12.6.sql
database_12.9-12.10.sql
database_12.11-12.12.sql
database_12.12-12.13.sql
database_12.13-12.14.sql

我在 Mac OS X 上,没有 sort -V 选项

【问题讨论】:

标签: bash sorting ls


【解决方案1】:

您可能可以使用ls -lrt 或类似的组合按时间排序

r 用于反向, t有时间

【讨论】:

  • 嗯...输出看起来怎么样?
  • 一切都乱了套,我认为使用 git 会导致文件名保存时间被修改。
  • @ChrisMuench 对不起,伙计,我的想法已经用完了。 :(
  • 没问题,我不认为这很容易解决,感谢尝试
【解决方案2】:

尝试使用sort utility

ls | sort -n 

【讨论】:

    【解决方案3】:

    不确定 Mac OS,但试试看:

     LC_COLLATE=C ls -1
    

    【讨论】:

    • 任何人都可以轻松测试:1) 复制上述文件名列表。 2) 粘贴到文本文件“文件名”中。 3) for x in `cat filenames`; do touch $x; done 4) 试试上面的命令
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    相关资源
    最近更新 更多