我正在尝试这个,但没有效果:
ls file_* | xargs mv {} temp/
有任何想法吗?
答案1
在 OS X 上:
ls file_* | xargs -J {} mv {} temp/
在 Linux 上:
ls file_* | xargs -i {} mv {} temp/
答案2
在 mv 中使用 -t“指定目标目录”,它应该可以移动文件*到目标目录 /temp
例如:-#ls -l file* | xargs mv -t /temp
答案3
find . -name "file_*" -maxdepth 0 -exec mv {} temp/ \;
find
ls
比文件数量可能多于 shell 允许的程序参数数量的情况要好。
答案4
另一个解决方案可能是:
for f in file_* ; do
mv $f temp/$f
done
缺点是它会mv
为每个文件分叉一个新进程。