有没有办法获得类似于此的结果(我需要使用bash来实现):
find path -type f -name 'key' | shuf | head -n100
没有完成整个搜索?我需要获得100个随机样本,但不能等待find命令完成整个搜索。
我可以做这样的事情
find path -type f -name 'key' -print | head -nN | shuf | head -n100
(N> 100)
但显然它不是正确的解决方案(因为搜索将始终返回相同的N个样本,因此我不会搜索整个文件集。)
如果它有一个简单的解决方案,我不知道它,我道歉。
答案 0 :(得分:0)
更简短的方法:
find path -type f -name 'key' | shuf --head-count=100
答案 1 :(得分:0)
根据Charles Duffy的建议,我现在正在使用这样的东西
for (( i=0; i<100; i++)); do
for d in `find mainfolder/my_case_simple_directory_structure_/.../* -maxdepth 1 -type d | shuf | head -n1`; do
find $d -type f -name 'key' | shuf | head -n1
done
done
这不是最佳解决方案,但它适用于我的情况,具有非常简单的目录结构。
感谢。