find -exec 与 xargs的区别与使用

我一个项目的代码上线,是先checkout出代码然后整体copy过去的,可以避免在线上直接svn拉代码时候影响服务。
其中有这么两句:

find . -type d -name ".svn" | xargs rm -rf
find script/ -type f -exec dos2unix -o {} \;

感觉xargs和exec很像,就学习了一下两者的使用和区别。
-exec
1.参数是一个一个传递的,传递一个参数执行一次rm
2.文件名有空格等特殊字符也能处理
-xargs
1.一次将参数传给命令,但可以使用-n控制参数个数
2.处理特殊文件名需要采用如下方式,重点在那个-0上:
find . -name “*.txt” -print0 |xargs -0 rm {}

技巧: find -print0 与 xargs -0 的结合避免文件名有特殊字符如空格,引号等无法处理:
find . -name “*.txt” -print0 |xargs -0 rm {}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值