linux shell 之 find

网上关于介绍find 命名的太多,本文就不多在阐述了.

给出链接:

这篇博文介绍了 xargs结合find使用

部分资料:

find命令可以把匹配到的文件传递给 xargs 命令执行,在使用 find 命令的 -exec 选项处理匹配到的文件时,find将所有匹配到的文件一起传递给 exec 执行。由于有些系统对能够传递给 exec 的命令长度有限制,这样会引起溢出错误。这时可以使用 xargs 命令。
 

    find . -type f -name "*.log" -print0 | xargs -0 rm -f #xargs -0将\0作为定界符
    find . -type f -name "*.php" -print0 | xargs -0 wc -l #统计一个源代码目录中所有php文件的行数
    find . -type f -name "*.jpg" -print | xargs tar -czvf images.tar.gz #查找所有的jpg 文件,并且压缩它们
  find / type f -print | xargs file    查找系统中的每一个普通文件,并用 file 命令来测试它们分别属于哪一类文件。
  find . -type f -name "\.log" -print | xargs rm  查找当前目录下的 .log 文件,并删除 。
  find . -type f -exec ls -l {} \;  用 ls -l 列出所有匹配到的文件。
  find logs  -type f -mtime +5 -exec rm {} \;  查找 log 中更改时间在 5 天前的文件并删除。
  find logs -type f -ok rm {} \;  查找 log中的所有普通文件并在删除前确认。  
  find . -type f -name "\.log" -print | gerp "node"     查找当前目录下的 .log 文件,并从查找结果中筛选出带有 node 字符串的文件 

而 对于相对简单的应用,比如说 查找文件以及文件夹  就可以使用:

find 命令查找文件和文件夹

基本上使用大概就是:

查找目录:find /(查找范围) -name '查找关键字' -type d
查找文件:find /(查找范围) -name 查找关键字 -type f  -print

还有就是,find 支持 -regex

例如在 当前目录查找 .c .h 文件

find . -regex ".*\(\.c\|\.h\)$"

那么在你的终端上,将以每一行展示 一个查找到的.c 或是.h 文件.

要是,我现在 有个需求,就是将 查找到的.c 或是.h 文件 全部合并,应该怎么做呢?

find . -regex ".*\(\.c\|\.h\)$" |xargs cat >> out.txt(输出文件名)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Teleger

你的支持是我前进的方向

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值