缅甸新锦江赌场-官方网站

English 浙江双荣电子
0577-62816098

产品分类

/PRODUCTS

  联系我们

双荣在线
双荣在线
CONTACT US

电话:0577-62816098

传真:0577-62816098

E-mail:1620486953@qq.com

新闻分类

/NEWS

新闻中心

当前位置:首页 >> 新闻中心 >> 详解二次接线端子铜质螺丝材质之普通黄铜

xargs命令详解

来源:缅甸新锦江 2019-06-10 08:07

xargs命令是把吸收到的数目重复格式化,再将其看成参数提需求任何命令,上面介绍xargs命令的各个应用本事

xargs命令详解,linuxxargs命令详解

xargs命令是把接受到的数目再一次格式化,再将其作为参数提须求其它命令,上面介绍xargs命令的各个应用才干

1、将多行输入调换到单行输入:

[[email protected] test]# echo -e "1 2 3 4 5 \n6 7 8 \n9 10 11 12" >example.txt
[[email protected] test]# cat example.txt 
1 2 3 4 5 
6 7 8 
9 10 11 12
[[email protected] test]# cat example.txt |xargs 
1 2 3 4 5 6 7 8 9 10 11 12

  将单行输入调换到多行输出:

[[email protected] test]# cat example.txt | xargs -n 3
1 2 3
4 5 6
7 8 9
10 11 12

  自定义定界符进行调换(暗中认可的定界符是空格):

[[email protected] test]# echo "Hello:Hello:Hello:Hello" | xargs -d : -n 2
Hello Hello
Hello Hello

二、在本子中动用:

[[email protected] test]# cat echo.sh 
#!/bin/bash
echo $* '^-^'
当参数传递给echo.sh后,它会将这些参数打印出来,并且以"^-^"作为结尾:
[[email protected] test]# echo -e "Tom\nHarry\nJerry\nLucy" > args.txt
[[email protected] test]# cat args.txt | xargs bash echo.sh 
Tom Harry Jerry Lucy ^-^
[[email protected] test]# cat args.txt | xargs -n 2 bash echo.sh 
Tom Harry ^-^
Jerry Lucy ^-^

  在上头的例子中,大家把参数源都放入args.txt文件,不过除了这一个参数,大家还须求一些固定不变的参数,举个例子:

[[email protected] test]# bash echo.sh  Welcome Tom 
Welcome Tom ^-^

  在上述命令实践进度中,汤姆是变量,别的部分为常量,我们得以从"args.txt"中领取参数,并依据上面包车型大巴不二等秘书籍提供给命令:

[[email protected] test]# bash echo.sh  Welcome Tom 
[[email protected] test]# bash echo.sh  Welcome Herry
[[email protected] test]# bash echo.sh  Welcome Jerry
[[email protected] test]# bash echo.sh  Welcome Lucy

  那时大家须要利用xargs中-I命令:

[[email protected] test]# cat args.txt  | xargs -I {} bash echo.sh  Welcome {} 
Welcome Tom ^-^
Welcome Harry ^-^
Welcome Jerry ^-^
Welcome Lucy ^-^

  -I {} 内定替换字符串,对于每2个下令参数,字符串{}都会被从stdin读取到的参数替换掉,

  使用-I的时候,命令以巡回的方法执行,要是有6个参数,那么命令就能够连同{}一同被实践伍回,在每三遍奉行中{}都会被替换为相应的参数。

三、结合find使用

  xargs和find是一对丰硕好的结合,不过,我们经常是以一种错误的艺术采用它们的,举例:

[[email protected] test]# find . -type f -name "*.txt" -print | xargs rm -f

  那样做是有危急的,一时会删除不必删除的文书,假诺文件名里包蕴有空格符(' '),则xargs很恐怕以为它们是定界符(例如,file text.txt会被xargs误感到file和text.txt)。

  假诺大家想把find的出口作为xargs的输入,就务须将-print0与find结合使用以字符null('\0')来分隔输出,用find搜索全体.txt的文件,然后用xargs将这几个文件删除:

[[email protected] test]# find . -type f -name "*.txt" -print0 | xargs -0 rm -f

  那样就足以去除全数的.txt文件了,xargs -0 将\0作为输入定界符。

xargs命令详解。 4、运用while语句和子shell

[[email protected] test]# cat files.txt | (while read arg ;do cat $arg;done)
这条命令等同于:
[[email protected] test]# cat files.txt  | xargs -I {} cat {}

  在while循环中,能够将cat $arg替换到自便数量的一声令下,那样大家就足以对同一个参数实施多条命令,也足以不借助管道,将出口传递给任何命令,这一个本领适应于种种主题材料场景。子shell操作符内部的多少个指令可用作四个全体来运作。

  

xargs命令是把接受到的数目再一次格式化,再将其用作参数提必要其余命令,上面介绍xargs命令的各类应用技...

缅甸新锦江赌场,壹、将多行输入转变来单行输入:

[root@host1 test]# echo -e "1 2 3 4 5 \n6 7 8 \n9 10 11 12" >example.txt
[root@host1 test]# cat example.txt 
1 2 3 4 5 
6 7 8 
9 10 11 12
[root@host1 test]# cat example.txt |xargs 
1 2 3 4 5 6 7 8 9 10 11 12

  将单行输入转变到多行输出:

[root@host1 test]# cat example.txt | xargs -n 3
1 2 3
4 5 6
7 8 9
10 11 12

  自定义定界符举行调换(暗许的定界符是空格):

[root@host1 test]# echo "Hello:Hello:Hello:Hello" | xargs -d : -n 2
Hello Hello
Hello Hello

2、在剧本中利用:

[root@host1 test]# cat echo.sh 
#!/bin/bash
echo $* '^-^'
当参数传递给echo.sh后,它会将这些参数打印出来,并且以"^-^"作为结尾:
[root@host1 test]# echo -e "Tom\nHarry\nJerry\nLucy" > args.txt
[root@host1 test]# cat args.txt | xargs bash echo.sh 
Tom Harry Jerry Lucy ^-^
[root@host1 test]# cat args.txt | xargs -n 2 bash echo.sh 
Tom Harry ^-^
Jerry Lucy ^-^

  在上头的例子中,大家把参数源都放入args.txt文件,但是除了这么些参数,大家还亟需一些一定不改变的参数,举例:

[root@host1 test]# bash echo.sh  Welcome Tom 
Welcome Tom ^-^

缅甸新锦江赌场网址,  在上述命令试行进程中,汤姆是变量,其他部分为常量,大家能够从"args.txt"中领取参数,并遵照上边包车型客车主意提供给命令:

[root@host1 test]# bash echo.sh  Welcome Tom 
[root@host1 test]# bash echo.sh  Welcome Herry
[root@host1 test]# bash echo.sh  Welcome Jerry
[root@host1 test]# bash echo.sh  Welcome Lucy

  那时大家必要使用xargs中-I命令:

[root@host1 test]# cat args.txt  | xargs -I {} bash echo.sh  Welcome {} 
Welcome Tom ^-^
Welcome Harry ^-^
Welcome Jerry ^-^
Welcome Lucy ^-^

首页 | 关于我们 | 产品中心  | 新闻中心 | 资质认证  | 下载中心 | 在线留言  | 联系我们
Copyright © 2014 缅甸新锦江赌场-官方网站缅甸新锦江 Rights Reserved.  技术支持:温州中网   备案号:浙ICP备14009337号-1  

Baidu
sogou