[转] - xargs 分析】的更多相关文章

原文出处:http://www.cnblogs.com/f-ck-need-u/p/5925923.html 学习这个xargs花了很长时间,在网上翻了很久也查了很多书关于xargs的介绍,都只是简单的介绍了它的几个用法,却没有介绍它工作的原理,man也只有简单的介绍,并没有说各个选项之间配合时的情况.所以我只能自己探索了,探索的路上确实充满了荆棘,不断的总结却不断的被实验推翻,每当以为自己得出了结论,却往往发现不够完善,所以我自己也是边测试边删改完成这篇学习记录,但是不得不说这过程充满了乐趣.…
1.简介 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据.xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代. 2. 选项解释 -0  以'\0'为字符串的定界符,输出字符串.(eg 1) -a file 从文件中读入作为sdtin,并打…
本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www.cnblogs.com/chengmo/archive/2010/10/21/1856577.html以此为例: cat test.sh test1.sh 2>/dev/null | grep -n 'echo' 此时若test.sh 不存在,报错信息不会输出到屏幕中,而是转入 /dev/null中,如…
当 find 产生一个文件列表时,该列表提供给另一个命令有时是很有用的.案例: $touch abc.c erd.c oiy.c $ll ./erd.c ./abc.c ./oiy.c $find -name '*.c'| rm rm: 缺少操作数 请尝试执行"rm --help"来获取更多信息. $find -name '*.c'| xargs rm $find -name '*.c' 无任何显示,说明已成功删除. 简介,之所以能用到这个命令,关键是由于很多命令不支持管道(|)来传递…
管道将前面的标准输出作为后面的标准输入,xargs则将标准输入作为命令的参数 一.简介 1.背景 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -perm +700 |ls -l       这个命令是错误的 find /sbin -perm +700 |xargs ls -l   这样才是正确的 xargs 可以读入 stdin 的资料,并且以空白字符或换行字符作为分割符,将 stdin 的输入…
在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail 等都是可以接受 standard input 的管线命令啦.至于例如 ls, cp, mv 等就不是管线命令了!因为 ls, cp, mv 并不会接受来自 stdin 的数据. 也就是说,管线命令主要有两个比较需要注意的地方:     管线命令仅会处理 standard output,对于 sta…
xargs xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行. xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代. xargs 能够捕获一个命令的输出,然后传递给另外一个命令. 之所以能用到这个…
xargs 是在做什么的呢?就以字面上的意义来看,x 是加减乘除的乘号,args 则是 arguments (参数) 的意思,所以说,这个玩意儿就是在产生某个命令的参数的意思! xargs 可以读入 stdin 的数据,并且以空格符或断行字符作为分辨,将 stdin 的数据分隔成为 arguments . 因为是以空格符作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空格符的时候, xargs 可能就会误判了-他的用法其实也还蛮简单的!就来看一看先! [root@www ~]# xarg…
Pipeline 与 xargs Pipeline与命令行參数 应用程序接收输入的两种方式: 命令行參数 输入字符串被当成參数,通过int main(int argc, char **argv), 中的argv传入.或使用 以下API获取,再自己分析: LPTSTR WINAPI GetCommandLine(void); Pipeline 指示输入内容存放在标准输入上.标准输入能够理解成一个文件,通常是字符界面终端. 也能够是一个暂时文件. Pipeline stdin,stdout 与 st…
from here 简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的find /sbin -perm +700 |ls -l 这样才是正确的find /sbin -perm +700 |xargs ls -l   xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为 arguments . 因为是以空白字元作为分隔,所以,如果有一些档名或者是其他意…
1. 简介 之所以能用到这个命令,是由于很多 linux 命令不支持用管道传递参数,例如 find /sbin -perm +700 | ls -l 这个命令是错误的 find /sbin -perm +700 |xargs ls -l   这样才是正确的 通常Linux命令可以用|首尾相连,上一个命令的 stdout 连接到下一个命令的 stdin.但是有些命令,比如ls.rm等,是从命令行参数接受输入的.这时候如果想把上一个命令的输出传给它们,就不好办了.所以就有了xargs. 简单而言,x…
比如一个例子 echo "README.md" |cat echo "README.md" |xargs cat 第一个例子只是输出了README.md的文件名,而后面那个命令就把文件内容都输出到终端 事实上,xargs可以把从STDIN接收的输入,用空格隔开,然后依次作为参数去调用xargs后面的命令 比如,假如我们要删除当前目录下的pdf文件, find .  -name "*.pdf" |xargs  rm 看上去没有什么问题,但是假如文件…
1 命令功能 xargs用来从标准输入中执行命令行 xargs命令用来将一些不支持管道传递参数的命令而使之支持 2 命令语法 xargs  [选项参数] commands 3 命令参数 -O 当标准输入含有特殊字符时,将其当成一般字符,如/,空格等 -a file 从文件中读入作为标准输入 -e/-E flag  flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止. -p  提示用户是否执行从终端terminal读取的命令 4 使用范例 [1]从文件中读入作为…
1.功能: xargs可以将stdin中以空格或换行符进行分隔的数据,形成以空格分隔的参数(arguments),传递给其他命令.因为以空格作为分隔符,所以有一些文件名或者其他意义的名词内含有空格的时候,xargs可能会误判.简单来说,xargs是给其他命令传递参数的一个过滤器,是构建单行命令的重要组件之一. 之所以要用到xargs,是因为由于很多命令不支持使用管道|来传递参数,例如: find /sbin -perm +700 |ls -l //这个命令是错误,因为标准输入不能作为ls的参数…
1.功能: xargs能够将stdin中以空格或换行符进行分隔的数据.形成以空格分隔的參数(arguments),传递给其它命令.由于以空格作为分隔符,所以有一些文件名称或者其它意义的名词内含有空格的时候,xargs可能会误判.简单来说,xargs是给其它命令传递參数的一个过滤器,是构建单行命令的重要组件之中的一个. 之所以要用到xargs,是由于由于非常多命令不支持使用管道|来传递參数,比如: find /sbin -perm +700 |ls -l //这个命令是错误,由于标准输入不能作为l…
xargs 给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数.xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行.xargs的默认命令是echo,空格是默认定界符.这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代.xargs是构建单行命令的重要组件之一 语法 xargs (选项)cmd 选项 -0…
Xargs用法详解 原文:http://czmmiao.iteye.com/blog/1949225 简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的find /sbin -perm +700 |ls -l 这样才是正确的find /sbin -perm +700 |xargs ls -l   xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为…
参数代换: xargs xargs 是在做什么的呢?就以字面上的意义来看, x 是加减乘除的乘号,args 则是 arguments (参数) 的意思,所以说,这个玩意儿就是在产生某个命令的参数的意思! xargs 可以读入 stdin 的数据,并且以空格符或断行字符作为分辨,将 stdin 的数据分隔成为 arguments . 因为是以空格符作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空格符的时候, xargs 可能就会误判了-他的用法其实也还满简单的!就来看一看先! [root…
1. 简介 之所以能用到这个命令,关键是由于很多命令不支 持|管道来传递参数,而日常工作中有有这个必要, 所以就有了xargs命令,例如:find /sbin -perm +700 |ls -l 这个命令是 错误的find /sbin -perm +700 |xargs ls -l 这样才是 正确的xargs 可以读入 stdin 的资料,并且以空白字元或 断行字元作为分辨,将 stdin 的资料分隔成为 arguments . 因为是以空白字元作为分隔,所以, 如果有一些档名或者是其他意义的名…
变量置换,主要用于不支持管道的shell命令,如:rm.sed等,但有些命令需要占位符“{}”需要注意.比如:删除文件- ls|xargs -i rm -rf {} 文件改名-   ls|xargs -i mv {} {}.old 将命令逐个替换到{} find ./ -name "*.h" | xargs sed -i 's/DEFAULT_PANEL_INVERT/DEFAULT_PANEL_INV/' {} 执行命令:xargs 当find产生一个文件列表时,该列表提供给另一个命…
1. 简介 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -perm +700 |ls -l       这个命令是错误的 find /sbin -perm +700 |xargs ls -l   这样才是正确的 xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为 arguments . 因为是以空白字元作为分隔,所以,如果有一些档名或者是其…
简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的find /sbin -perm +700 |ls -l 这样才是正确的find /sbin -perm +700 |xargs ls -l   xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为 arguments . 因为是以空白字元作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空白字…
xargs xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行. xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代. xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命…
xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行. xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代. xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令. xar…
转自  http://czmmiao.iteye.com/blog/1949225 简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的find /sbin -perm +700 |ls -l 这样才是正确的find /sbin -perm +700 |xargs ls -l   xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为 arguments…
xargs - build and execute command lines from standard input. 从标准输入< 方向获取数据,再创建和执行命令 xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行. xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输…
Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 whereis whereis命令是定位可执行文件.源代码文件.帮助文件在文件系统中的位置.这些文件的属性应属于原始代码,二进制文件,或是帮助文件.whereis 程序还具有搜索源代码.指定备用搜索路径和搜索不寻常项的能力. 语法 whereis [-bmsu] 文件或者目录名称 参数 -b 定位可执…
管道命令(pipe) 1.把一个命令的输出作为另一个命令的输入 ls -al /etc | less 2.选取命令:cut和grep cut命令可以将一段消息的某段切出来. -d接分隔符,-f是取出第几段的意思,-c是以字符串为单位取出固定的字符串范围 ls -F | grep '/' -v | cut -d'.' -f 1 #在取出不是文件夹的文件后,通过分隔符'.'来分割,取出不包括文件后缀的文件名 ls -F | grep '/' -v | cut -c 1- #取出第一个字符(包括第一个…
本文包含的命令:type.echo.evn.set.locale.read.declare / typeset.ulimit.alias.unalias.history.!.source.stty.cut.grep.sort.uniq.wc.tee.tr.col.join.paste.expand.split.xargs. 概念与知识点: 双引号里面的变量有意义,单引号里面的变量没有意义. 变量的简单定义:『变量就是以一组文字或符号等,来取代一些设定或者是一串保留的数据!』 变量设定的规则: 变…
管道命令——| command1 | command2 | command3 注:管道命令必须能够接受来自前一个命令的数据成为standard input继续处理. cut 将一段信息的某一段切出来,处理的信息是以行为单位. cut -d '分割字符' -f fields cut -c 字符范围 参数: -d : 后面接分隔符,与-f一起使用: -f : 依据-d的分隔符将一段信息切割成为数段,用-f取出第几段的意思: -c : 以字符(characters)的单位取出固定字符区间: - //将…