zoukankan      html  css  js  c++  java
  • find系列之xargs命令

    xargs的功能-->     将标准输入转换为命令行参数,供后面的命令调用,但是一次只能依据-d和-n限定的行数来推送一行
    xargs的作用-->     使那些不能利用stdin的命令,可以轻松从stdin获取数据流
    xargs的基本命令格式-->
        command1 | xargs command2
    xargs的常用基本用法-->
    •     将多行输入转换成单行输出,不需参数
    •     将单行输入转换成多行输出(使用-n num来指定一行所拥有的field),默认以IFS空格作为FS,当然也可以用-d来指定
    xargs的常用高级用法-->
        替换字符串I-->
    command | xargs -I {} test.sh -p {} #编写一个脚本test.sh,-p是脚本的一个选项,command命令生成的输出传递给xargs,然后通过xargs将其转变成test.sh脚本的参数.
     
    find -. -type f -name "*.txt" -print0 | xargs -0 rm -f    #这条命令中print后面有个数字0,xargs后面也有个-0,为什么呢?因为如果文件名中含有空格的话,xargs就会将这个文件认为是两个文件(例如文件名是hello world.txt,那么xargs就会对hello和world.txt这两个文件进行后续处理,假设存在这两个文件),为了解决这个办法,print0的含义就是将定界符空格,改成null(),而后面的-0也同样是这个意思
    何为定界符?例子如下
    [cactier@localhost ~]$ find -name "*.sh" -print0
    ./prostatus.sh./name.sh./test.sh[cactier@localhost ~]$ find -name "*.sh" -print
    ./prostatus.sh
    ./name.sh
    ./test.sh

    xargs通常用于将文件名列表作为命令行参数传递给其他命令,故当文件名作为命令行参数的时候,建议用null作为文件名终结符号,而不是用空格

    [星空刺] |-->一颗星辰一闪即逝,支撑它的唯有方向和目的
  • 相关阅读:
    Anaconda 换国内源、删源最全集锦(转载)
    【2019】安装anaconda及环境变量的配置(安装第三方库测试)(转载)
    python 中 urlparse 模块介绍
    正则表达式之前瞻后顾
    indows下如何安装python第三方库lxml
    Ubuntu下开启SSH服务 vs:18
    Linux终端访问网页
    关于ubuntu无线网络配置
    SQL语句报错,无法绑定由多个部分组成的标识符解决
    "@P0"附近有语法错误解释及定位修复
  • 原文地址:https://www.cnblogs.com/aaa103439/p/3512833.html
Copyright © 2011-2022 走看看