linux--xargs常用场景

来源:互联网 发布:数据库被黑客删除 编辑:程序博客网 时间:2024/05/26 09:55


1: 在指定目录下查找哪些文件包含关键字

[migu_csms@LS-HJYW-VM-mg-qd03 warn]$ find ./ -type f -print |  xargs grep "2017-08-24 14" 
./warn_2017-08-24.log:2017-08-24 14:05:11,597 WARN [com.aspire.comp.migu.util.LoginUtil] - [获取user ]
./warn_2017-08-24.log:2017-08-24 14:05:11,597 WARN [com.aspire.comp.migu.util.LoginUtil] - [domain sp]
./warn_2017-08-24.log:2017-08-24 14:05:11,597 WARN [com.aspire.comp.migu.util.LoginUtil] - [loginName 杭州掌盟1]
./warn_2017-08-24.log:2017-08-24 14:20:40,363 WARN [com.aspire.comp.migu.util.LoginUtil] - [获取user ]
./warn_2017-08-24.log:2017-08-24 14:20:40,363 WARN [com.aspire.comp.migu.util.LoginUtil] - [domain sp]
./warn_2017-08-24.log:2017-08-24 14:20:40,363 WARN [com.aspire.comp.migu.util.LoginUtil] - [loginName 杭州掌盟1]

其实   find ./ -type f -print 是查找当前文件 然后xargs  将输处的文件作为输入,执行 grep "2017-08-24 14"  进行过滤 。 出现结果中grep "2017-08-24 14" 为

文件名称, :2017-08-24 14:05:11,597 WARN [com.aspire.comp.migu.util.LoginUtil] - [获取user ] 为包含关键字所在的行


2: 将查找出来的数据作为输出参数,使用 -I

[migu_csms@LS-HJYW-VM-mg-qd03 warn]$ find ./  -type f -name "warn_2017-08-24.log" | xargs -I [] mv [] ../test/
[migu_csms@LS-HJYW-VM-mg-qd03 warn]$ cd ../test/
[migu_csms@LS-HJYW-VM-mg-qd03 test]$ ll
总计 12
-rw-r----- 1 migu_csms migu 8265 08-24 14:20 warn_2017-08-24.log
[migu_csms@LS-HJYW-VM-mg-qd03 test]$ 

其中 -I是为查找出的标准输出作为标准输入的代表符号, 相当于指定标准输出的变量 , 也可以使用其他代替 比如mm {} 等。 


3:参数-t是执行前答应出要执行的命令  -l1是一次处理一个, -I [] 是例2中描述的功能

[migu_csms@LS-HJYW-VM-mg-qd03 warn]$ find ./  -type f -name "warn_2017-08-*.log.0" | xargs  -l1 -t -I []  mv [] ../test/
mv ./warn_2017-08-17.log.0 ../test/ 
mv ./warn_2017-08-08.log.0 ../test/ 
mv ./warn_2017-08-11.log.0 ../test/ 
mv ./warn_2017-08-16.log.0 ../test/ 
mv ./warn_2017-08-14.log.0 ../test/ 
mv ./warn_2017-08-03.log.0 ../test/ 
mv ./warn_2017-08-20.log.0 ../test/ 
mv ./warn_2017-08-23.log.0 ../test/ 
mv ./warn_2017-08-01.log.0 ../test/ 
mv ./warn_2017-08-18.log.0 ../test/ 
mv ./warn_2017-08-04.log.0 ../test/ 
mv ./warn_2017-08-13.log.0 ../test/ 
mv ./warn_2017-08-22.log.0 ../test/ 
mv ./warn_2017-08-19.log.0 ../test/ 
mv ./warn_2017-08-09.log.0 ../test/ 
mv ./warn_2017-08-02.log.0 ../test/ 
mv ./warn_2017-08-15.log.0 ../test/ 
mv ./warn_2017-08-10.log.0 ../test/ 
mv ./warn_2017-08-21.log.0 ../test/ 
mv ./warn_2017-08-07.log.0 ../test/ 
[migu_csms@LS-HJYW-VM-mg-qd03 warn]$ cd ../test/
[migu_csms@LS-HJYW-VM-mg-qd03 test]$ ls
warn_2017-08-01.log.0  warn_2017-08-04.log.0  warn_2017-08-09.log.0  warn_2017-08-13.log.0  warn_2017-08-16.log.0  warn_2017-08-19.log.0  warn_2017-08-22.log.0
warn_2017-08-02.log.0  warn_2017-08-07.log.0  warn_2017-08-10.log.0  warn_2017-08-14.log.0  warn_2017-08-17.log.0  warn_2017-08-20.log.0  warn_2017-08-23.log.0
warn_2017-08-03.log.0  warn_2017-08-08.log.0  warn_2017-08-11.log.0  warn_2017-08-15.log.0  warn_2017-08-18.log.0  warn_2017-08-21.log.0
[migu_csms@LS-HJYW-VM-mg-qd03 test]$ 








原创粉丝点击