美文网首页
xargs:将标准输入转化成命令行参数

xargs:将标准输入转化成命令行参数

作者: August________ | 来源:发表于2019-12-10 22:02 被阅读0次

    xargs:将标准输入转化成命令行参数

    功能说明

    • 向其他命令传递命令行参数的一个过滤器,能够将管道或者标准输入的数据转化成xrags命令后的跟随的命令的命令行参数。

    语法格式

    xargs [option]
    

    选项说明

    参数选项 解释说明
    -n 指定每行的最大参数量n
    -d 自定义分隔符
    -i 以{}代替前面的结果
    -I 指定一个符号来代替前面的结果
    -p 提示用户确认是否执行后面的命令
    -0 用null代替空格作为分隔符

    范例

    • 将多行输入变成单行
    #cat test.txt 
    1 2 3 4 5 6 
    7 8 9 
    10 11
    
    [root@lhf2 17:47:17 /root/test]
    #xargs < test.txt 
    1 2 3 4 5 6 7 8 9 10 11
    
    
    • 通过-n指定每行输入
    #cat test.txt 
    1 2 3 4 5 6 
    7 8 9 
    10 11
    
    [root@lhf2 17:48:11 /root/test]
    #xargs -n 3 < test.txt 
    1 2 3
    4 5 6
    7 8 9
    10 11
    
    • 自定义分隔符
    #echo askdkjasdXasdjalsdjXasdjqwX
    askdkjasdXasdjalsdjXasdjqwX
    
    [root@lhf2 17:49:10 /root/test]
    #echo askdkjasdXasdjalsdjXasdjqwX | xargs -d X
    askdkjasd asdjalsdj asdjqw 
    
    
    [root@lhf2 17:49:21 /root/test]
    #echo askdkjasdXasdjalsdjXasdjqwX | xargs -d X -n 2
    askdkjasd asdjalsdj
    asdjqw 
    
    
    
    • 参数-I可以指定一个替换的字符串
    [root@lhf2 17:54:10 /root/test]
    #ls
    dir1  dir2  file1.txt  file2.txt  file3.txt  file4.txt  file5.txt  test.txt
    
    [root@lhf2 17:54:11 /root/test]
    #find . -name "file*" |xargs -I [] cp [] dir2
    
    [root@lhf2 17:54:53 /root/test]
    #ls
    dir1  dir2  file1.txt  file2.txt  file3.txt  file4.txt  file5.txt  test.txt
    
    [root@lhf2 17:54:55 /root/test]
    #ls dir2/
    file1.txt  file2.txt  file3.txt  file4.txt  file5.txt
    
    • 删除“hello world.txt”文件
    #ls
    hello world.txt
    
    [root@lhf2 18:00:55 /root/test/dir1]
    #find . -type f -name "*.txt" | xargs rm
    rm: cannot remove ‘./hello’: No such file or directory
    rm: cannot remove ‘world.txt’: No such file or directory
    
    [root@lhf2 18:01:25 /root/test/dir1]
    #find . -type f -name "*.txt" -print0| xargs -0 rm
    
    [root@lhf2 18:01:52 /root/test/dir1]
    #ls
    
    
    

    相关文章

      网友评论

          本文标题:xargs:将标准输入转化成命令行参数

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