BASH:按排序顺序以#{number}编号的循环文件

BASH:按排序顺序以#{number}编号的循环文件,bash,unix,for-loop,terminal,Bash,Unix,For Loop,Terminal,这和我的感觉很相似,但也有很大的不同- 我有一系列带有磅号和数字的文件,在bash中,这些文件默认按如下顺序排列: #1 Clear.png #10 Brilliant Blue.png #11 Caribbean Blue.png #12 Aquamarine.png #13 Teal.png #14 Turquoise.png #15 Green.png #16 Light Green.png #17 Purple.png #18 Lt Purple.png #19 Yellow.png #

这和我的感觉很相似,但也有很大的不同-

我有一系列带有磅号和数字的文件,在bash中,这些文件默认按如下顺序排列:

#1 Clear.png
#10 Brilliant Blue.png
#11 Caribbean Blue.png
#12 Aquamarine.png
#13 Teal.png
#14 Turquoise.png
#15 Green.png
#16 Light Green.png
#17 Purple.png
#18 Lt Purple.png
#19 Yellow.png
#2 Standard Pink.png
#20 Brown.png
#3 Light Pink.png
#4 Fuschia.png
#5 Wine.png
#6 Red.png
#7 Orange.png
#8 Blue.png
#9 Light Blue.png
我想在for循环中按磅号前面的数值按顺序对它们进行排序,例如

for i in `ls * | sort [method to sort]`; do
*stuff*
done
问题是,我发现的排序解决方案似乎没有一个适合于使用磅符号和/或空格对这个案例进行排序

订单文件应进行排序:

#1 Clear.png
#2 Standard Pink.png
#3 Light Pink.png
#4 Fuschia.png
#5 Wine.png
#6 Red.png
#7 Orange.png
#8 Blue.png
#9 Light Blue.png
#10 Brilliant Blue.png
#11 Caribbean Blue.png
#12 Aquamarine.png
#13 Teal.png
#14 Turquoise.png
#15 Green.png
#16 Light Green.png
#17 Purple.png
#18 Lt Purple.png
#19 Yellow.png
#20 Brown.png

sort-k1.2-n
应该可以做到这一点

-k F.C
定义应根据字段
F
对输入进行排序,从字符
C
开始。都是从1开始的


编辑:刚才我意识到我的答案与你链接的问题的答案几乎相同。所以肯定是一个副本

我认为它与我链接的那一个已经足够不同了,但可能与我没有看到的标记为副本的那一个没有区别。谢谢我想这就是答案你可以在keydef:sort-k1.2n中添加n(数字)