linux – 当参数列表太长时,如何正确使用“xargs”

前端之家收集整理的这篇文章主要介绍了linux – 当参数列表太长时,如何正确使用“xargs”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以给我一个在下面的操作中使用xargs的例子吗?
tar c $dir/temp/*.parse\
    | lzma -9 > $dir/backup/$(date '+%Y-%m-%d')-archive.tar.lzma

我从bash“/ bin / tar:参数列表太长”中得到错误

特别是我试图对大约4,500个文件进行LZMA压缩;所以这并不奇怪.我只是不知道如何修改上面使用xargs并摆脱错误!谢谢.

解决方法

扩展CristopheDs回答并假设您正在使用bash:
tar c --files-from <(find $dir/temp -maxdepth 1 -name "*.parse") | lzma -9 > $dir/backup/$(date '+%Y-%m-%d')-archive.tar.lzma

xargs在这里没有帮助的原因是它将进行多次调用,直到所有参数都被使用.这对您没有帮助,因为这会创建几个您不想要的tar档案.

猜你在找的Linux相关文章