【问题标题】:Order by numbers with bash wildcards使用 bash 通配符按数字排序
【发布时间】:2020-10-14 14:08:04
【问题描述】:

我有一个目录,其中包含

frame0.png 框架1.png 框架2.png ... 框架20.png

我想使用通配符,以便 ls -l 显示按数字排序的文件。我试过了

ls -l frame?.png frame??.png

因为我认为它会首先搜索只有一位数字的项目,对它们进行排序,然后用两位数字执行相同的操作,但是输出是

frame0.png 框架10.png 框架11.png ... 框架1.png 框架20.png 框架2.png ... 框架9.png

我怎样才能绕过 bash 这样的命令?

【问题讨论】:

标签: bash shell wildcard


【解决方案1】:

如果您有 gnu 实用程序,则使用 -v 选项获得自然排序:

ls -lv frame*.png

如果你没有 gnu ls 那么试试这个find + sort

find . -maxdepth 1 -name 'frame*.png' | sort -V

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-23
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    相关资源
    最近更新 更多