有没有办法控制我运行a时发生的排序,对于i in*; 做; echo $ i; 完成; 在我的目录中.它似乎总是使用ascii排序.无论如何做数字排序?
谢谢,Vivek
您始终可以使用 sort(1) 及其数字排序:
for i in $(ls -1 * | sort -n) ; do echo $i ; done
Run Code Online (Sandbox Code Playgroud)
如何制作你的文件名,以便他们自然地排序为数字,即用前导零填充.而不是1 .. 10 .. 100,使用001 ..010 .. 100?
要包含子目录:
for i in $( ls -d * | sort -n ); do echo $i; done;
Run Code Online (Sandbox Code Playgroud)
要排除子目录:
for i in $( ls | sort -n ); do echo $i; done;
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助.