find与-exec选项或-ok选项结合使用示例

本文详细介绍find命令结合-exec选项的高级应用,包括修改文件权限、删除指定类型文件、文件内容整合等,通过具体示例教授如何高效管理和操作文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

find借助-exec选项与{} \;结合使用(注意{}和\;之间有一个空格!)

1.找出当前目录下所有root的文件,并把所有权更改为用户tim

        find . -type f -user root -exec chown tim {} \;

上例中,{} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名。

2.找出自己家目录下所有的.txt文件并删除

      find $HOME/. -name "*.txt" -ok rm {} \;

 -ok-exec行为一样,不过它会给出二次确认提示,是否执行相应的操作。

3.查找当前目录下所有.txt文件并把他们拼接起来写入到all.txt文件中

     find . -type f -name "*.txt" -exec cat {} \;> all.txt

4.将30天前的.log文件移动到old目录中

     find . -type f -mtime +30 -name "*.log" -exec cp {} old \;

5.查找当前目录下所有今天(24小时内)修改过的文件.sh文件,并通过二次确认的方式删除

     find . -type f -mtime -1  -name "*.sh" -ok rm {} \;

6.找出当前目录下所有.txt文件并以“File:文件名”的形式打印出来

     find . -type f -name "*.txt" -exec printf "File: %s\n" {} \;

7.调用.sh文件。因为单行命令中-exec参数中无法使用多个命令,以下方法可以实现在-exec之后接受多条命令

    -exec ./test.sh {} \;

注:在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。此时应使用find与xargs命令结合实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值