【发布时间】:2018-08-17 06:06:06
【问题描述】:
由于ls 按字母顺序返回文件,有没有办法以随机顺序返回相同的文件?我正在尝试遍历目录中的所有文件,但希望它在单独的运行中有所不同。
for i in *.py # Would like order to be random
do
...
done
【问题讨论】:
由于ls 按字母顺序返回文件,有没有办法以随机顺序返回相同的文件?我正在尝试遍历目录中的所有文件,但希望它在单独的运行中有所不同。
for i in *.py # Would like order to be random
do
...
done
【问题讨论】:
这是randomly shuffling files in bash 和How can I shuffle the lines of a text file on the Unix command line or in a shell script? 的副本
但是,这应该可以完成工作:
for i in `ls *.py | shuf`
do
echo $i
done
【讨论】:
\n ... find . -name \*.py -print0 | shuf -z | xargs -0 -L 1 sh -c 'for i ; do printf "%s\n" "${i}" ; done' notusebutmandatory的文件名也会成功