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),而后面的-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作为文件名终结符号,而不是用空格

find系列之xargs命令的更多相关文章

  1. xargs命令

    xargs命令 常用工具命令 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令 ...

  2. 关于 ‘--exec’ 参数( find 命令)及介绍 ‘xargs ’命令区别(新版)

    前言: find 命令一直都是系统管理员的常用命令之一, 其参数中 "-exec" 尤其实用.而 "xargs" 命令,针对查询也有属于自己的见解.本文着重讲解 ...

  3. linux下xargs命令用法详解 【转】

    转自:http://blog.chinaunix.net/uid-128922-id-289992.html xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xa ...

  4. linux包之findutils之find和xargs命令

    解释 [root@localhost ~]# rpm -qa|grep findfindutils-4.4.2-6.el6.x86_64 find 路径 测试 动作 三个步骤的处理过程查找一个或多个目 ...

  5. linux下xargs命令用法详解

    原文:http://blog.chinaunix.net/uid-128922-id-289992.html xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xa ...

  6. 【转】linux中的cut/tr/join/split/xargs命令

    1. cut命令 cut命令用于从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出. 截取的方式有三种:一是按照字符位置,二是按照字节位置,三是使用一个分隔符将一行分割成多个field, ...

  7. linux shell脚本学习xargs命令使用详解

    作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处 ...

  8. 转 linux下xargs命令用法详解

    xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤 ...

  9. xargs命令详解,xargs与管道的区别

    为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以 ...

随机推荐

  1. NAS4Free 安装配置(四)配置硬盘

    配置硬盘 磁盘管理 进入磁盘管理界面:Disks|Management 磁盘管理 点击Import disks导入磁盘 把第4个4G的DOM盘删掉,因为我们不在这个盘上存放数据 点Apply chan ...

  2. INI文件格式

    最近在看git命令,遇到INI文件格式,上网查了一下,把它总结一下: 程序没有任何配置文件,那么它对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,为了让程序出厂后还能根据需要 ...

  3. cf D. Alternating Current

    http://codeforces.com/contest/344/problem/D #include <cstdio> #include <cstring> #includ ...

  4. POJ 2888 Magic Bracelet(burnside引理+矩阵)

    题意:一个长度为n的项链,m种颜色染色每个珠子.一些限制给出有些颜色珠子不能相邻.旋转后相同视为相同.有多少种不同的项链? 思路:这题有点综合,首先,我们对于每个n的因数i,都考虑这个因数i下的不变置 ...

  5. Keil C51里关于堆栈指针的处理

    Keil C是非常优秀的C51编译器,可能是最好的C51编译器,提供各种优化模式,对变量的优化和地址安排做得非常好.这是用C语言写代码的好处之一,如果用汇编写,得费一大番功夫给各个变量安排内存物理地址 ...

  6. 关于导入oracle10g的数据到sqlserver2005里的方案总结

    由于项目需求,现需要将oracle的数据全部导入到sqlserver中,一下算是自己的总结小计吧. sqlserver有自己的导入数据的功能,其中就有提供两种方式从oracle导入数据. 两种方式就不 ...

  7. 【转】ubuntu 12.04 LTS将关闭最大化最小化移动到右上角

    原文网址:http://www.4byte.cn/learning/114801.html ubuntu 12.04 LTS将关闭最大化最小化移动到右上角   还是按下“ALT +F2”组合键,输入g ...

  8. hdu4010-Query on The Trees(lct分裂合并加值查询最大值)

    代码 #include<cstdio> #include<cstring> #include<string> #include<vector> #inc ...

  9. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅰ

    许多应用程序都需要处理有序的元素,但不一定要求他们全部有序,或者是不一定要以此就将他们排序.很多情况下我们会手机一些元素,处理当前键值最大的元素,然后再收集更多的元素,再处理当前键值最大的元素.如此这 ...

  10. hdu 5311 Hidden String(find,substr)

    Problem Description Today is the 1st anniversary of BestCoder. Soda, the contest manager, gets a str ...