比如一个例子

echo "README.md" |cat

echo "README.md" |xargs cat

第一个例子只是输出了README.md的文件名,而后面那个命令就把文件内容都输出到终端

事实上,xargs可以把从STDIN接收的输入,用空格隔开,然后依次作为参数去调用xargs后面的命令

比如,假如我们要删除当前目录下的pdf文件,

find .  -name "*.pdf" |xargs  rm

看上去没有什么问题,但是假如文件中带有空格那么就有问题了。

解决:

find  . –name  "*.pdf"  -print0 |xargs  –0  rm

这里-print0告诉find在每个输出后面以'\0'结尾,-0告诉xargs用'\0'分隔,而不是空格。当然用户可以根据自己的意愿将'\0'换成自己想要的分隔符

如果要批量修改所有pdf文件的后缀名

find  . –name  "*.pdf"  -print0 |xargs  –0  -I {}  mv  {}  {}.doc

-I {}是告诉xargs后面的命令中用{}表示占位符,将会被指定的参数替代。也可以将换成i

更多参数说明:

-p(小写):操作具有可交互性,每次执行command都交互式提示用户选择

-P(大写):修改最大进程数

-t:先打印命令,再执行后面的命令

比如:

$ date|xargs -t echo "xargs"
echo xargs 2017年03月 6日 20:07:36
xargs 2017年03月 6日 20:07:36

-a:从文件中读入作为标准输入

-e、-E:作为一个标志位,xargs分析到这个标志位后停止

-r:假如在|xargs前面没有传入参数,那么就停止xargs,直接退出

-n:只限制参数的个数,默认无

-d:设置分隔符,xargs默认的是回车,参数默认的是空格,这个参数修改xargs的

-s:设置每次构造命令(xargs后面的命令)的长度

-x:主要配合-s使用,如果满足了条件之后退出

-l、-L:从标准输入中一次读取n行传递给命令

比如:

$cat  file

a

b

c

$cat file |xargs –L 2 echo

a

b

参考:http://blog.csdn.net/yhcharles/article/details/44875865

Linux命令-xargs的更多相关文章

  1. linux命令--xargs的使用

    xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可以将单行或多 ...

  2. linux 命令 — xargs

    xargs xargs能接收stdin并将其转化为特定命令的命令行参数,构建单行命令的重要工具 command | xargs 指定分隔符 echo "splitXsplitXsplitXs ...

  3. Linux命令xargs的使用

    ls | xargs catls | xargs -I {} cat {}  大写I,指定参数的替换符号为{} 自定义

  4. 开发必备linux命令大全-稳赚不亏

    我们的服务一般都是在linux系统运行,因此了解一些关于linux命令是必须.接下来将一一详细介绍一些常用的linux的命令 文件操作 远程登录与操作 磁盘挂载 进程管理 启动和结束 系统性能参数查看 ...

  5. 每天一个 Linux 命令(21):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

  6. linux命令瞎记录find xargs

    1.创建多个文件 touch test{0..100}.txt 2.重定向 “>>” 追加重定向,追加内容,到文件的尾部 “>” 重定向,清除原文件里面所有内容,然后把内容追加到文件 ...

  7. Linux命令:xargs命令详解,xargs与管道的区别

    阅读目录 为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项 回到顶部 为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人 ...

  8. 每日linux命令学习-xargs命令

    xargs命令 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据 ...

  9. Linux下xargs命令详解及xargs与管道的区别

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

随机推荐

  1. 13_Java面向对象_第13天(static、final、匿名对象、内部类、包、修饰符、代码块)_讲义

    今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 01final关键字概念 A: 概述 继承的出现提高了代码的复 ...

  2. List<Map> 进行求和

    public class Main { public static void main(String[] args) { List<Map> lists = new ArrayList&l ...

  3. rpc 协议规范 之 rmi http webservice 和 一些框架

    RPC(Remote Procedure Call)是远程调用,是一种思想,也是一种协议规范.简单地说就是能使应用像调用本地方法一样的调用远程的过程或服务,可以应用在分布式服务.分布式计算.远程服务调 ...

  4. behavior

    http://www.css88.com/book/css/properties/only-ie/behavior.htm 语法: behavior:<url> | url(#objID) ...

  5. 多态在编译器是无法确定引用类型的是哪个子类 可以用 instanceof 在运行期判断

  6. php 关于文件夹的一些封装好的函数

    /** *检测文件名是否合法 * @param string $filename * @return boolean */ function checkFilename($filename){ $pa ...

  7. js模块化的总结

    从前端打包的历史谈起 在很长的一段前端历史里,是不存在打包这个说法的.那个时候页面基本是纯静态的或者服务端输出的, 没有 AJAX,也没有 jQuery.Google 推出 Gmail 的时候(200 ...

  8. 51nod 1293 球与切换器 | DP

    51nod 1293 球与切换器 | DP 题面 有N行M列的正方形盒子.每个盒子有三种状态0, -1, +1.球从盒子上边或左边进入盒子,从下边或右边离开盒子.规则: 如果盒子的模式是-1,则进入它 ...

  9. Hive权限管理

    最近遇到一个hive权限的问题,先简单记录一下,目前自己的理解不一定对,后续根据自己的理解程度更新 一.hive用户的概念 hive本身没有创建用户的命令,hive的用户就是Linux用户,若当前是用 ...

  10. 【hdu3555】 Bomb

    http://acm.hdu.edu.cn/showproblem.php?pid=3555 (题目链接) 题意 求区间${[1,n]}$含有49的数的个数. Solution 数位dp,先求出不含4 ...