• xargs 命令使用


    作用:

    (1)将前一个命令的标准输出传递给下一个命令,作为它的参数,xargs的默认命令是echo,空格是默认定界符

    (2)将多行输入转换为单行

    使用模式:

    front command | xargs -option later command

    front command:前一个命令

    -option:xargs的选项

    later command:后一个命令

    常用参数:

    -n:指定一次处理参数的个数
    
    -d:自定义参数界定符
    
    -p:询问是否允许later command 参数
    
    -t:表示先打印命令,然后再执行
    
    -i:逐项处理

    其他参考:man xargs

    example:

    测试文本:test.txt

    a b c d e f g 
    h i j k l m n 
    o p q
    r s t
    u v w x y z

    (1)多行输入单行输出

    cat test.txt | xargs

    结果:

    a b c d e f g h i j k l m n o p q r t s u v w x y z

    (2)指定一次处理的参数个数:指定为5,多行输出

    cat  test.txt |xargs -n 5

    结果:

    a b c d e 
    f g h i j 
    k l m n o
    p q r t s
    u v w x y 
    z

    (3)自定义参数界定符:指定界定符为‘m’

    cat test.txt | xargs -d m

    结果:

    a b c d e f g 
    h i j k l   n 
    o p q
    r s t
    u v w x y z

    (4)询问是否运行later command 参数

    cat test.txt | xargs -n 5 -p

    结果:

    (5)删除指定名称的进程:进程名为Deadpool

    ps -ef | grep 'Deadpool' | grep -v 'grep'|  awk '{print $2}' | xargs kill -9

     xargs与管道|的区别:

    I 用来将前一个命令的标准输出传递到下一个命令的标准输入,xargs将前一个命令的标准输出传递给下一个命令,作为它的参数。

    # 使用管道将ls的结果显示出来,ls的标准输出的结果作为cat的标准输入
    
    ls | cat
    
    # 使用xargs将ls的结果作为cat的参数,ls的结果为文件名,所以cat文件名即查看文件内容
    
    ls | xargs cat

    xargs与exec的区别:

    exec参数是一个一个传递的,传递一个参数执行一次命令;xargs一次将参数传给命令,可以使用-n控制参数个数。

    #xargs 将参数一次传给echo,即执行:echo begin ./xargs.txt ./args.txt
    find . -name '*.txt' -type -f | xargs echo begin
    #exec 一次传递一个参数,即执行:echo begin ./xargs.txt ; echo begin ./args.txt
    find . -name '*.txt' - type -f -exec echo begin {} ;
  • 相关阅读:
    Swift 编程语言新手教程
    标准差(standard deviation)和标准错误(standard error)你能解释一下?
    shell文字过滤程序(十一):paste命令
    java 获取系统变量(环境变量和环境变量)
    MD5算法原理
    受托停止事件冒泡
    搜索引擎优化要领:8条辅助技巧(三)
    几种更新(Update语句)查询的方法
    学习盲点
    2014年同年CFA考试中哪些CFA资料没有变化?
  • 原文地址:https://www.cnblogs.com/xiaohaigegede/p/13632838.html
Copyright © 2020-2023  润新知