美文网首页Linux 命令集合
linux xargs命令详解及应用

linux xargs命令详解及应用

作者: 祐吢房_2c9a | 来源:发表于2019-01-21 11:43 被阅读0次

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

  • 使用find -exec选项处理匹配到的文件时,find命令将匹配到的所有文件一起传递给exec执行

  • 有些系统exec的命令长度有限制,运行会导致溢出错误“参数列太长”或“参数列溢出”

  • exec会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行,一些情况下会导致进程过多,系统性能下降的问题,因而效率不高

  • xargs命令每次只获取一部分文件而不是全部,处理完先获取的 然后再去继续获取(究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。)

  • xargs只有一个进程,保证系统性能

使用实例:

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不执行。

相关文章

  • Linux那点事-xargs命令详解

    Linux xargs 命令 xargs原理剖析及用法详解 1. 为什么需要xargs命令 1.1 管道|的缺陷 ...

  • linux xargs命令详解及应用

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

  • 如何解压目录下的所有zip压缩文件

    使用find xargs命令 xargs命令详解,xargs与管道的区别

  • 线上常用Linux命令

    xargs命令详解,xargs与管道的区别

  • Linux xargs命令详解

    为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却...

  • xargs命令详解

    linux命令之xargs 1、xargs命令简介 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命...

  • Linux

    linux awk命令详解、linux awk命令Linux常用操作指令Linux netstat命令详解 awk...

  • xargs

    xargs命令在linux系统中应用非常的广泛,也非常实用,下面链接的这篇文章对xargs讲解的也比较好,值得一看...

  • xargs命令详解

    原理详见 https://www.cnblogs.com/f-ck-need-u/p/5925923.html 0...

  • xargs命令详解

    xargs与管道有些类似,下面举例来详细讲一下两者单区别: 输出: 使用xargs命令: 输出: 可以看到 ech...

网友评论

    本文标题:linux xargs命令详解及应用

    本文链接:https://www.haomeiwen.com/subject/ofxcjqtx.html