假设你有
for subdir in *
并且您希望父元素中的子目录(名称1,2,...,10,11 ......)按人类数字顺序读取,即1,2,3等,而不是机器中的子目录,即1,10等。你是如何表现的?
答案 0 :(得分:1)
您可以使用-n
(--numeric-sort
)选项sort
按数字顺序排序:
~/tmp for f in $(ls | sort -n); do echo $f; done
1
2
3
4
5
6
7
8
9
10
~/tmp for f in $(ls); do echo $f; done
1
10
2
3
4
5
6
7
8
9
如果您不需要进行任何操作,只需按顺序列出目录:
ls | sort -n