美文网首页
xargs的用法

xargs的用法

作者: 青青鸟_341e | 来源:发表于2020-08-21 21:51 被阅读0次

    xargs命令的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。一般与管道符搭配使用,xargs的默认动作是echo,默认分隔符为空白字符(空格,TAB,换行符)。

    参数选项

    -0,--null:以\0作为分隔符,接受到的特殊字符将当作文本符号处理;
    -d:指定分段的分隔符,默认分隔字符为空白字符;
    -a,--arg-file=file:指定命令标准输入的来源文件;
    -e'FLAG' 或者-E 'FLAG':指定一个终止符号,当xargs命令匹配到第一个FLAG后,停止传递,并退出命令;
    -p:每当xargs执行一个分段时,询问一次用户是否执行;
    -t:表示先打印执行的命令再输出;
    -n NUM:表示一个分段包含的参数个数,参数之间以分隔符隔开,默认是将所有的参数当作一个分段输出;
    -i:用于将分段分批传递给其后的{}进行输出,分段会替换{}所在的位置进行输出;
    -I "FLAG":可指定分段的替换符号,分段会分批替换到符号所在的位置进行输出执行;
    -L:指定每次执行的最大的非空行的行数;
    

    xargs命令与管道符的区别

    管道符“|” 是将\color{red}{前一个命令的标准输出}作为\color{red}{后一个命令的标准输入}来使用;而xargs命令是将\color{red}{前一个命令的标准输出}作为\color{red}{后一个命令的参数}而使用;

    常用选项

    1. -I

    $cat foo.txt 
    one
    two
    three
    
    $cat foo.txt | xargs -I file sh -c 'echo file; mkdir file'
    one
    two
    three
    

    2. -i

    cat foo.txt | xargs -i touch {}.txt
    
    $ls
    foo.txt  one.txt  three.txt  two.txt
    

    相关文章

      网友评论

          本文标题:xargs的用法

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