xargs
从标准输出建立并运行命令行
example1
描述:输出当前目录下所有符号链接或经过压缩的ASCII文件并显示
命令:file -Lz * | grep ASCII | cut -f1 -d: | xargs ls -ltr
解释:
file -Lz *:用于查找是符号链接或者经过压缩的文件;
输出结果:
anaconda-ks.cfg: ASCII English text
install.log: ASCII text
insall.log.syslog: ASCII text
mbox: ASCII mail text
grep ASCII:用于搜索包含 "ASCII" 字符的字符串并产生;
输出结果:
anaconda-ks.cfg: ASCII English text
install.log: ASCII text
insall.log.syslog: ASCII text
mbox: ASCII mail text
cut -f1 -d:表示采用冒号作为分隔符,并取出第一列。所以尽显示文件名;
输出结果:
anaconda-ks.cfg
install.log
install.log.syslog
mbox
xargs:将上述列表作为参数进行传递,一次传递一个。
xargs ls -ltr:用于接收输出并对其执行 ls -ltr 命令,命令等价于:
ls -ltr anaconda-ks.cfg
ls -ltr install.log
ls -ltr install.log.syslog
ls -ltr mbox
结果:
大家应该都知道了吧。
xargs 本身虽然没有多大用处,但在与其他命令相结合时,它的功能非常强大。
example2
描述:计算当前目录下各个文件行数:
命令:file * | grep ASCII | cut -f1 -d: | xargs wc -l
解释:(无)
结果:
40 anaconda-ks.cfg
452 install.log
53 install.log.syslog
68 mbox
613 total
example3
描述:用vi打开匹配后的文件
命令:file * | grep ASCII | cut -f1 -d: | xargs vi
解释:
该命令使用 vi 逐个打开文件。当您希望搜索多个文件并打开它们进行编辑时,使用该命令非常方便。
example4
描述:快速重命名目录中的文件。
命令:ls | xargs -i mv {} {}.old
解释:
-i 选项告诉 xargs 用每项的名称替换 {}。
xargs还有几个选项:
-p 选项;它使操作具有可交互性:
命令: file * | grep ASCII | cut -f1 -d: | xargs -p vi
此处的 xarg 要求您在运行每个命令之前进行确认。如果您按下 "y",则执行命令。
-t 选项;使用一个详细模式,显示要运行的命令,是调试过程中一个非常有帮助的选项。
如果传递给 xargs 的输出为空怎么办?考虑以下命令:
命令:file * | grep 12345 | cut -f1 -d: | xargs -t wc -l
wc -l
0
此处,搜索 "12345" 后没有匹配的内容;因此 xargs 的输入均为空,如第二行所示(由于我们使用 -t 这个详细选项而产生的结果)。
-r选项;虽然这可能会有所帮助,但在某些情况下,如果没有要处理的内容,您可能希望停止 xargs;如果是这样,可以使用 -r 选项:
命令: file * | grep 12345 | cut -f1 -d: | xargs -t -r wc -l
如果没有要运行的内容,该命令退出。
-n选项;修改单个命令行传递的参数个数。例如我们即使向 xargs ls -ltr 传递五个文件,但每次向 ls -ltr 仅传递两个文件。
命令:file * | grep ASCII | cut -f1 -d: | xargs
-t -n2 ls -ltr
分享到:
相关推荐
文章主要对Linux文件查找命令find和xargs进行详细描述,感性趣的朋友可以参考下。
xargs命令有两个要点。第一,你必须列出目标文件。第二,你必须指定对每个文件需要执行的命令或脚本。 xargs命令被用来处理分布在不同目录下的文件: 计算所有文件的行数 打印指定文件的第一行 对每个文件执行一...
Linux xargs 命令 xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。 xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。 xargs 也可以将单行或多行文本...
Linux xargs命令 1.功能: xargs可以将stdin中以空格或换行符进行分隔的数据,形成以空格分隔的参数(arguments),传递给其他命令。因为以空格作为分隔符,所以有一些文件名或者其他意义的名词内含有空格的时候,...
可在windows使用的类linux工具xargs,可以配合类liunx工具find进行文件处理。xargs的使用帮助为 xargs --help,实例可以上网查询。也可另外下载我的dos工具。
xargs 是给命令传递参数的一个过滤器,可以将管道或标准输入的数据转换成参数,默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行,不过通过 xargs 的处理,换行将被空格取代。
主要为大家详细介绍了linux find命令之xargs的简单使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别,本文通过实例给大家详解,需要的的...
可以在windows上运行linux命令的批处理文件,极为方便。
Linux_的命令find_xargs详述(1)
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。下面这篇文章主要给大家介绍了关于linux中xargs命令用法的相关资料,需要的朋友可以参考借鉴,下面来跟着小编一起看看吧。
基于微服务架构(spring cloud)的微信聊天界面,发送消息基于stream流 ...Linux命令:安装支持:yum install maven dos2unix unzip -y 转换.sh文件为linux格式:find /home/spring-cloud-project -name "*.sh" | xargs
xargs可以将stdin中以空格或换行符进行分隔的数据,形成以空格分隔的参数(arguments),传递给其他命令。因为以空格作为分隔符,所以有一些文件名或者其他意义的名词内含有空格的时候,xargs可能会误判。简单来说,...
Linux_的命令find_xargs详述(1)
在使用 Linux 时,你是否遇到过需要将一些命令串在一起,但是其中一个命令不接受管道输入的情况呢?在这种情况下,我们就可以使用 xargs 命令。xargs 可以将一个命令的输出作为参数发送给另一个命令。 在 Linux 中,...
并且,当需要立即得到答案时,可以翻到本书的命令参考部分,这部分内容经过精心组织和标注,非常易于快速查找! 作者简介 Mark G.Sobell是Sobell Associates 公司的主席,该公司是一个专于UNLX/Linux 培训、技术...
Sobell是多本UNIX和Linux畅销书的作者,著有Prentice Hall PTR出版社出版的A Prac-tical Guide to Red Hat Linux,Second Edition一书,以及Addison-Wesley出版社出版的A Practical Guide to UNIX System,Hands-on ...