JAVA、PHP、前端、APP、网站开发 - 开发技术学习

开发技术学习 » 服务器 » linux查找文件并打包,多文件中查找关键字

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

此文被围观2389日期: 2018-10-08 分类 : 服务器  标签:  ········

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


站点声明:部分内容源自互联网,为传播信息之用,如有侵权,请联系我们删除。

© Copyright 2011-2024 www.kfju.com. All Rights Reserved.
超级字帖 版权所有。蜀ICP备12031064号