PHP学习_PHP技术_PHP网站建设_PHP程序员专注于PHP技术研究及学习

Adophper » 服务器 » linux查找文件并打包,多文件中查找关键字

linux查找文件并打包,多文件中查找关键字

此文被围观65日期: 2018-04-18 分类 : 服务器  标签:  ········

linux查找文件并加入压缩包中。

find -name '*.log' | xargs grep -l 'cart' //查找当前目录下后缀为.log的文件,然后使用xargs查询每个文件里面是否含有关键词cart

或者

find -name '*.php' exec grep -l 'test' {} ;


查找到的文件如何加入压缩包内:

分两步: 

 1、将按照自己条件搜索出来的文件名写入到一个文件 tmp.list 中 

 find /tmp -cmin +24 > tmp.list 

 2、然后将文件中记录到的所有文件加入到压缩包中 

 tar -T tmp.list -czvf tmp.expire.tar.gz


-exec会把find查找到的结果一次性全部交给后面的命令来进行处理, 

xargs会把find查找到的结果逐一交给后面的命令进行来处理,


最后试了几分钟这样使用一条命令解决问题:

find -name '*.log'|xargs grep -l 'CartController'|xargs tar -czvf log.tar.gz


这里随便说一下竖线:

管道符号,是unix一个很强大的功能,符号为一条竖线:"|"。  

用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2


参考链接:http://michaelyang1988-hotmail-com.iteye.com/blog/1675816

https://blog.csdn.net/zhouzme/article/details/20014591

http://bbs.chinaunix.net/thread-1534235-2-1.html


本站使用ThinkPHP框架开发读图网主题,目前托管在阿里云,图片由读图网提供. 蜀ICP备12031064号

Copyright © 2011-2018adophper.com All Rights Reserved.