• 管道符 | 与xargs 命令的配合使用


    xargs命令是传递参数的一个过滤器,也是组合多个命令的一个工具         将信息进行分组显示

    xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令

    之所以能用到这个命令,关键是由于很多命令不支持管道符 | 管道来传递参数,而日常工作中又有这个必要,所以就有了xargs命令

     xargs 命令典型应用说明

      1.查找指定数据信息进行复制,查找出"*.txt"文件,批量复制到/oldgirl目录

        01.将找到的信息放置到cp和最终目录中间

        find /oldboy -type f -name "*.txt" | xargs -i cp {} /oldgirl

        

        02.利用cp指明谁是数据最终保存的目录

        find /oldboy -type f -name "*.txt" | xargs cp -t /oldgirl

        

         03.利用find的参数-exec直接对cp命令进行操作

        find ./ -type f -name "*.txt" -exec cp {} ./oldgirl ;

        

      2.查找指定数据信息进行移动,查找出"*.txt"文件,批量移动到/oldgirl目录

        01.将找到的信息放置到mv和最终目录之间

        find ./ -type f -name "*.txt" | xargs -i mv {} ./oldgirl

    `     02.利用mv指明谁是数据最终保存的目录

        find ./ -type f -name "*.txt" | xargs mv -t mv ./oldgirl

        03.利用find的参数-exec直接对mv命令进行操作

        find ./ -type f -name "*.txt"  -exec mv {} ./oldgirl ;

      3.查找指定数据信息进行删除,查找出"*.txt"文件,批量删除

        find ./ -type f -name "*.txt" | xargs rm

        find ./ -type f -name "*.txt" -exec rm -rf {} ;

        find ./ -type f -name "*.txt" -delete

    xargs 命令还有一个作用就是可以忽略别名

      

       对于上述结果来说 xargs 命令自动忽略别名功能,所以对于xargs命令来说,它不认识ll命令,因为ll是ls -l 的别名

      此时如果要执行 ll 命令必须摒弃别名,用正常命令来执行

    扩展说明:系统中如何忽略别名

      1.使用命令绝对路径

      2.在命令执行前加

      3.xargs命令自动忽略别名

  • 相关阅读:
    ASPNETDB 数据库关系图、表和视图 基本表和独立表(转载)
    Android工作学习笔记之图片自适应imageview属性android:scaleType
    Android 为不同的语言和硬件创建资源
    asp.net mvc 将Enum绑定在DropDownList了
    java异常处理的throw和throws的区别
    media=screen是什么意思 有什么用?
    javascript 匿名函数
    CharSequence类型
    android使用系统资源,链接当前主题中的Style
    Android中this.*与*.this还有*.class的区别是什么?
  • 原文地址:https://www.cnblogs.com/zp751060301/p/12858734.html
Copyright © 2020-2023  润新知