注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

民主与科学

独立之人格,自由之思想

 
 
 

日志

 
 

xargs命令简介  

2011-09-01 10:48:20|  分类: Linux基础 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
xargs主要功能是build and execute command lines from standard input,当命令行过长时,报Too many arguments错误时,可以使用xargs,其主要作用是从stdout中每次取一部分,然后传递给命令行执行,直至取完为止.
语法
xargs [-0prtx] [--interactive] [--null] [-d|--delimiter=delim]
       [-E eof-str] [-e[eof-str]]  [--eof[=eof-str]]
       [-L max-lines] [-l[max-lines]] [--max-lines[=max-lines]]
       [-I replace-str] [-i[replace-str]] [--replace[=replace-str]]
       [-n max-args] [--max-args=max-args]
       [-s max-chars] [--max-chars=max-chars]
       [-P max-procs]  [--max-procs=max-procs] [--show-limits]
       [--verbose] [--exit] [--no-run-if-empty] [--arg-file=file]
       [--version] [--help] [command [initial-arguments]]
选项
-e[EOFString]/ -E EOFString
将 EOFString 参数用作逻辑 EOF 字符串。如果不指定 -e 或 -E 标志,则采用下划线_为逻辑 EOF 字符串。xargs 命令读取标准输入直到达到 EOF 或指定的字符串。
-i[ReplaceString]/ -I ReplaceStrin 
该选项用于设置在Command 参数中用什么字符表示标准输入的当前行。ReplaceStrings 不能在超过 5 个自变量中使用。在每个标准输入行开始的空字符被忽略。每个 Argument能包含一个或多个 ReplaceStrings,但不能大于 255 字节。如果没有指定 ReplaceString 参数,使用字符串 "{}"。注:-I(大写 i)和 -i 标志是互相排斥的;最后指定的标志生效。
示例1:ls | xargs -t -i mv {} {}.bak
示例2:ls | xargs -t -I [] echo {}.er
-l[Number]/ -L Number
用于指定。从标准输入的哪一个非空行开始读取字符串到数Command 命令。默认值为1.
-n Number
  用于指定xargs每次最多传递标准输入的多少行内容到Command命令。默认值为1.
-p
询问是否运行 Command 参数。它显示构造的命令行,后跟一个 ?...(问号和省略号)提示。输入肯定的、特定于语言环境的响应以运行 Command 参数。任何其它响应都会引起 xargs 命令跳过那个特定的参数调用。每个调用都将询问您。
 [-P max-procs]  [--max-procs=max-procs] [--show-limits]
这个什么意思呢?难道表示最大的进程数?
-t
启用跟踪方式,这样就可以看到实际构造的Command命令及参数
实例1
find . -name "*.java" | xargs grep 'AsyncTask'
实例2
find -name ‘.svn’ |xargs rm -rf
实例3
ls | xargs -n 20 rm -fr
ls当然是输出所有的文件名(用空格分割)
xargs就是将ls的输出,每20个为一组(以空格为分隔符),作为rm -rf的参数
也就是说将所有文件名20个为一组,由rm -rf删除,这样就不会超过命令行的长度了
当然我可以直接使用rm -rf  *实现这个功能
  评论这张
 
阅读(693)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017