Welcome 微信登录

首页 / 操作系统 / Linux / Linux命令之 玩转xargs

我们可以用管道将一个命令的标准输出重定向到另一个命令的标准输出,但是有些命令只能以命令行参数的形式接收数据,而无法接受通过stdin的数据,这个时候我们就要用到xargs。
 
xargs应该紧跟管道操作符之后。1.将多行转换为单行,将单行转换为多行。
 [root@localhost 桌面]# cat show.txt
 
wang
 
Hunan Chenzhou
 
123456
  li
 
Guangzhou Zhuhai
 
654321
  [root@localhost 桌面]# cat show.txt | xargs
 
wang Hunan Chenzhou 123456 li Guangzhou Zhuhai 654321
 
[root@localhost 桌面]# cat show.txt | xargs -n 4
 
wang Hunan Chenzhou 123456
 
li Guangzhou Zhuhai 654321
  2.定界符,使用-d 选项
 [root@localhost 桌面]# cat show.txt | xargs -d " "
 
wang Hunan Chenzhou 123456  li Guangzhou Zhuhai 654321
  3.读取stdin,将格式化参数传递给命令(一个或多个)
 [root@localhost 桌面]# vi ceshi.sh
 
#!/bin/bash
 
echo $*"OK"
 
[root@localhost 桌面]# chmod +x ceshi.sh
 [root@localhost 桌面]# cat show.txt | xargs -n 1 ./ceshi.sh
 
wangOK
 
HunanOK
 
ChenzhouOK
 
123456OK
 
liOK
 
GuangzhouOK
 
ZhuhaiOK
 
654321OK
 [root@localhost 桌面]# cat show.txt | xargs ./ceshi.sh
 
wang Hunan Chenzhou 123456 li Guangzhou Zhuhai 654321OK
  
4.传递复杂的命令参数(可变,不可变参数)-I选项替换字符
 
[root@localhost 桌面]# cat show.txt | xargs -I {} ./ceshi.sh -p {} -1
 
-p wang -1OK
 
-p Hunan Chenzhou -1OK
 
-p 123456 -1OK
 
-p li -1OK
 
-p Guangzhou Zhuhai -1OK
 
-p 654321 -1OK
  5.xargs结合其他命令的用法
 [root@localhost 桌面]# file * | grep show | cut -d ":" -f1 | xargs wc -l
 
8 show.txt
 [root@localhost 桌面]$ file * | grep show | cut -d ":" -f1 |xargs -t wc -l
 
wc -l show.txt
 
8 show.txt
 
-t选项,先打印命令,然后再执行
 
[root@localhost 桌面]# file * | grep show | cut -d ":" -f1 | xargs vi    打开vi编辑器
 
[root@localhost 桌面]# file * | grep show | cut -d ":" -f1 | xargs -t -i mv {} {}.bak
 
mv show.txt show.txt.bak
 
修改名字
 
[root@localhost 桌面]$ find . -name "*.txt" -type f -print0 | xargs -0 tar -zcvf text.tar.gz
 
查找所有txt文件,并压缩它们。
 
其实xargs可以接很多命令,发现它们你会觉得非常有趣。Linux操作系统的备份与还原Linux下解压tar.xz格式压缩文件相关资讯      xargs  linux xargs  xargs命令 
  • xargs用法详解  (08/21/2015 20:24:37)
  • 如何在Linux里使用xargs命令  (11/13/2014 13:06:17)
  • AIX中find命令和xargs命令介绍  (11/26/2012 08:33:06)
  • Linux基础教程:find 与 xargs  (04/05/2015 10:20:11)
  • find、xargs命令使用及方法详解  (03/07/2014 17:49:41)
本文评论 查看全部评论 (0)
表情: 姓名: 字数