find 命令

13 篇文章 0 订阅
1. 查找
#查找.cpp文件和.c文件

find . -name "*.cpp" -o -name "*.c" #通配符查找

find . -regex ".*\.\(c\|cpp\)" #正则表达式查找


#查找并统计源文件行数

find . -regex ".*\.\(c\|cpp\|h\)" | xargs wc -l


2. 相对/绝对 路径

如果传给 find 的查找目录是相对路劲,find 输出的也是相对路径;

如果传给 find 的是绝对路径,输出也是绝对路径:find `pwd`

3. 执行命令

格式: find *** *** -exec shell-command '{}' \;

find . exec ls -lh '{}' \;


4. 查找深度

-maxdepth n


5. 同时查找多个目录

find dir1 dir2 dir3 -name "*.c"

把目录列表保存到文件: dir_list,然后搜索这些目录:

sed "" dir_list | xargs -I {} find {} -name "*.c"  # -I {} 用{}表示输入参数


6. 复制目录结构

摘自:wangmy.blog.51cto.com/4064695/945229

使用find命令可以创建与源一致的目录结构

 

find  /usr/local   -type d -exec mkdir -p /tmp/{} \;

这样会保留/usr/local,如果只想保留/usr/local下的目录结构,进入/usr/local再使用命令:

find -type d -exec mkdir -p /tmp/{} \;  find后面不写目录就是指当前目录

 

这条命令将在/tmp目录下创建与  /usr/local一致的目录,此外如果要执行多个命令可以在分号后面继续添加-exec指令,如

find  /usr/local   -type d -exec mkdir -p /tmp/{} \;-exec print {} \;



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值