Linux 命令集合

linux xargs命令详解及应用

2019-01-21  本文已影响0人  祐吢房_2c9a

引子:find . -name "*.csv" | xargs du -ck | grep total

使用实例:

1.查找系统中的每一个普通文件,然后使用xargs命令来测试他们分别属于哪类文件

find . -type f -print | xargs file

2.在整个系统中查找内存信息存储文件(core dump),然后把结果保存到/tmp/core.log文件中

find / -name "core" -print | xargs echo "" > /tmp/core.log

3.在当前目录下查找所有用户具有读、写和执行权限的文件。并收回相应的写权限

find . -perm -7 -print | xargs chmod o-w

4.用grep命令在所有的普通文件中搜索hostname这个词

find . -type f -print | xargs grep "hostname"

5.用grep命令在当前目录下的所有普通文件中搜索hostnames这个词

find . -name * -type f -print | xargs grep "hostnames"

(注意,在上面的例子中, \用来取消find命令中的*在shell中的特殊含义。)

6.使用xargs执行mv

find . -name "*.log" | xargs -i mv {} test4

7.find后执行xargs提示xargs:argument line too long解决方法:

find . -type f -atime +0 -printf0 | xargs -0 -11 -t rm -f

find . -type f -atime +0 -print0 | xargs -0 -l1 -t rm -f

rm -f

-l1是一次处理一个;-t是处理之前打印出命令

8.使用-i参数默认的前面输出用{}代替,-I参数可以指定其他代替代替字符,如例子中的[]

find . -name "file" | xargs -I [] cp [] ..

9.xargs的-p参数的使用

find . -name "*.log" | xargs -p -i mv {} ..

-p参数会提示让你确认是否执行后面的命令,y执行,n不执行。

上一篇 下一篇

猜你喜欢

热点阅读