以下命令:
find . -name "file2015-0*" -exec mv {} .. \;
影响大约1500个结果。他们一个接一个地移动到前一个级别。
如果我认为结果不超过例如400?我怎么能?
答案 0 :(得分:11)
你可以这样做:
find . -name "file2015-0*" | head -400 | xargs -I filename mv filename ..
如果您想使用echo
模拟它的作用:
find . -name "file2015-0*" | head -400 | xargs -I filename echo mv filename ..
答案 1 :(得分:0)
例如,您可以将find
输出提供给while read
循环并跟踪计数器:
counter=1
while IFS= read -r file
do
[ "$counter" -ge 400 ] && exit
mv "$file" ..
((counter++))
done < <(find . -name "file2015-0*")
请注意,如果文件名包含新行,则可能会出现问题...这种情况不太可能发生。另请注意,mv
命令现在正在向上移动。如果你想让它与dir的路径相关,那么一些bash转换可以实现它。