caxa设置参数(一文搞定xargs使用技巧)

caxa设置参数(一文搞定xargs使用技巧)(1)

在工作中经常需要书写shell脚本来自动化运维系统,那么肯定经常会需要用到管道xargs命令

我们知道Linux命令可以从2个地方读取要处理的内容,分别是:1). 命令行参数 2). 标准输入。但是我们需要注意的是1). 有些命令不支持标准输入 2). 若命令同时支持命令行参数和标准输入,则命令行参数优先级大于标准输入。

caxa设置参数(一文搞定xargs使用技巧)(2)

管道通常用“|”连接多个命令,主要作用就是将上一个命令的标准输出作为下一个命令的标准输入。简单的说就是凡是支持标准输入的命令都可以使用管道。

xargs命令用于将标准输入的内容按一定的规则(默认以空格、TAB、换行分割)分割成多个小块,传递给要执行的命令作为其参数来执行。简单的说就是xargs是用来执行命令的,但是被执行命令的参数由xargs来构建。默认被执行的命令为echo

caxa设置参数(一文搞定xargs使用技巧)(3)

管道和xargs的区别,可以通过以下两个命令输出的结果来展示:

caxa设置参数(一文搞定xargs使用技巧)(4)

xargs用法

基础语法:

xargs [选项] [被执行命令] [被执行命令初始化参数]

常用选项:

-d 分割符:默认情况下,xargs使用空格、TAB、换行符作为分割符号来将标准输入中的内容切割成小块,该选项用于指定其他分割符号。只支持指定单个字符。

caxa设置参数(一文搞定xargs使用技巧)(5)

-0:以数字0作为选项表示用"\0"来分割标准输入中的内容。该选项一般和find命令一起使用。因为Linux系统中允许文件名中带空格。find命令中参数-print0会以"\0"来分割文件名。

caxa设置参数(一文搞定xargs使用技巧)(6)

-E EOF字符:指定标准输入的EOF(结束)字符,指定后一旦xargs读取到该字符则后续输入内容不再读取。若未指定则整个标准输入内容都读取。注:该选项与不能与-d选项一起使用。

-p:提示用户确认是否需要执行指令,输入"Y"或"y"确认执行。

caxa设置参数(一文搞定xargs使用技巧)(7)

-t:打印要执行的命令,与“-p”一起使用可以边打印边确认执行命令。

-n 数字:指定每个被执行的命令使用的参数个数,默认所有都传递为参数。

caxa设置参数(一文搞定xargs使用技巧)(8)

-L 数字:指定每个执行的命令使用几行参数。

-I 替代字符:被执行的命令参数中,xargs默认用“{}“来表示参数,通过该选项可以指定别的字符作为替代字符。

caxa设置参数(一文搞定xargs使用技巧)(9)

-P 数字:默认xargs使用一个进程来执行命令,也就是若命令执行多次,则必须等上一个命令执行完后才能执行下一次。该选项用于指定执行命令的进程数。

总结

xargs将标准输入中的空白符(空格、TAB、换行符)替换成空格,多个连续的空白符只替换成一个;

xargs将替换后的标准输入内容,按空格切割成多个小块;

xargs将切割后小块参数,按指定个数(-n选项)依次传递给被执行命令作为参数。

公众号【web说】不局限于web知识分享。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页