小编ohb*_*sme的帖子

xargs/exec 的参数列表太长

我正在 CentOS 服务器上工作,我必须四处移动并将数百万个文件整理在一起。我已经尝试了许多类似下面的内容,但所有这些都因参数列表太长错误而失败。

命令:

find ./ -iname out.* -type f -exec mv {} /home/user/trash
find ./paramsFile.* -exec cat > parameters.txt 
Run Code Online (Sandbox Code Playgroud)

错误:

-bash: /usr/bin/find: Argument list too long
-bash: /bin/cat: Argument list too long
Run Code Online (Sandbox Code Playgroud)

或者

echo ./out.* | xargs -I '{}' mv /home/user/trash
(echo ./paramsFile.* | xargs cat) > parameters.txt  
Run Code Online (Sandbox Code Playgroud)

错误:

xargs: argument line too long
xargs: argument line too long              
Run Code Online (Sandbox Code Playgroud)

第二个命令也从未完成。我听说过一些关于通配符的事情,但我不确定我是否完全理解它。欢迎任何提示或建议!

linux bash find xargs exec

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

exec ×1

find ×1

linux ×1

xargs ×1