linux 命令:find + exec

昨天从git 上clone一份solution下来,由于solution本身是VS2005的,然后我用VS2015打开后,这样每个子工程底下都会主动产生一个*.vcxproj的文件(vs2015的工程文件)。接下来我想切换代码分支,但是git提示,必须提交或者删除所有的.vcxproj才可以。使用find命令查找.vcxproj结尾的文件:

find ./ -type f -name "*.vcxproj"

结果是输出了十几个工程目录底下都有.vcxproj结尾的文件。一个一个删除实在是麻烦。这时候find + exec就派上用场了,先上解决方案再解释:

find ./ -type f -name "*.vcxproj" -exec rm {} \;

使用上述命令就可以将当前目录及子目录下所有的以.vcxproj结尾的文件全部找出并且删除。

find + exec 解释

find ./ -type f -name "*.vcxproj"

在上述命令中,./指的是当前的搜索目录,-type f指的是搜索文件,-name "*.vcxproj"指的是搜索以.vcxproj结尾的文件。这个命令会递归查找出当前目录和字目录下的所有文件。如果你只要查找当前文件夹不查找子文件夹的话可以加个搜索深度,如只搜索当前的目录(不包含子目录):

find ./ -maxdepth 1 -type f -name "*.vcxproj"

-exec rm {} \;

-exec后面跟的是command命令,这个命令是以‘;’作为结束标志的,所以分号是不可缺少的。考虑到各个系统中分号会有不用的意义,所以前面加反斜杠。

{}花括号代表前面find找出来的文件名

find结合exec和command非常好用,command可以用例如ls -l列出文件详情; mv 移动文件;grep 搜索文件中的字符串;cp 复制文件等等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值