find命令进阶(二):对找到的文件执行操作exec

以下面的命令为例:

find ~ -type f -name 'foo*' -exec ls -l '{}' ';'

分面两部分,第一部分:

find ~ -type f -name 'foo*'

即按照通配符foo*查找用户目录下的 regular files。第二部分:

-exec ls -l '{}' ';'

-exec是一条件命令,{}代表查找到的文件的路径,对这些路径下的文件执行操作ls -l,最后用一个;符号结束。

这里{};都要放在单引号里,是因为括号和冒号在 shell 中都有特定含义,放入单引号之后按字面意思执行。

这条命令也可以改成:

find ~ -type f -name 'foo*' -exec ls -l '{}' +

两条命令的效果相同,不同点在于,以;结尾的话,相当于ls -l对返回的每个查找结果都执行一次; 以+结尾的话,相当于把所有查找到的结果用ls -l命令一次性执行。在效率上有区别。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值