在 bash 中排序“for”环形
有什么方法可以控制我运行时发生的排序, 对于我在 * ;做;回声 $i;完毕; 在我的目录中。 似乎总是使用ascii排序。无论如何要进行数字排序吗?
谢谢, 维韦克
Is there any way to control the sorting that occurs when I run a,
for i in * ; do; echo $i; done;
in my directory.
It seems to always use ascii sorting. Anyway to do a numeric sort?
Thanks,
Vivek
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如何使文件名自然地按数字排序,即用前导零填充。使用
001 ..010 .. 100
而不是1 .. 10 .. 100
?包含子目录:
排除子目录:
我希望这有帮助。
How about making your filenames so they sort naturally as numbers, i.e. padded with leading zeros. Instead of
1 .. 10 .. 100
, use001 ..010 .. 100
?To include sub-directories:
To exclude sub-directories:
I hope this helps.
您始终可以使用 sort(1) 及其数字排序:
You can always use sort(1) and its numeric sort:
您可以使用 ls [排序选项] 为目录提供的排序
即
首先执行具有一定排序的 ls 命令,在示例中对扩展进行排序,然后用 for 循环给出列表
you can use the ordering from ls [sorting options] that you give for the directory with
i.e.
first the ls command with a certain sorting is executed, in the example case sorting for extension then you give out the the list with a for loop