使用bash通配符按数字排序



我有一个包含的目录

frame0.pngframe1.pngframe2.png。。。frame20.png

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

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

因为我认为它会首先搜索只有一个数字的项目,然后订购它们,然后用两个数字进行同样的操作,但是,输出是

frame0.png框架10.png框架11.png。。。frame1.pngframe20.pngframe2.png。。。frame9.png

我怎么能绕过bash那样的命令呢?

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

ls -lv frame*.png

如果你没有gnuls,那么试试这个find + sort:

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

最新更新