Linux命令-xargs
比如一个例子
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的更多相关文章
- linux命令--xargs的使用
xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具. xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据. xargs 也可以将单行或多 ...
- linux 命令 — xargs
xargs xargs能接收stdin并将其转化为特定命令的命令行参数,构建单行命令的重要工具 command | xargs 指定分隔符 echo "splitXsplitXsplitXs ...
- Linux命令xargs的使用
ls | xargs catls | xargs -I {} cat {} 大写I,指定参数的替换符号为{} 自定义
- 开发必备linux命令大全-稳赚不亏
我们的服务一般都是在linux系统运行,因此了解一些关于linux命令是必须.接下来将一一详细介绍一些常用的linux的命令 文件操作 远程登录与操作 磁盘挂载 进程管理 启动和结束 系统性能参数查看 ...
- 每天一个 Linux 命令(21):find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...
- linux命令瞎记录find xargs
1.创建多个文件 touch test{0..100}.txt 2.重定向 “>>” 追加重定向,追加内容,到文件的尾部 “>” 重定向,清除原文件里面所有内容,然后把内容追加到文件 ...
- Linux命令:xargs命令详解,xargs与管道的区别
阅读目录 为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项 回到顶部 为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人 ...
- 每日linux命令学习-xargs命令
xargs命令 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据 ...
- Linux下xargs命令详解及xargs与管道的区别
在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别.为什么要用xarg ...
随机推荐
- 转 webpack 插件 svg-sprite-loader
最近开始看 Vue 了,首先用官方的模版把项目快速搭建起来: Vue.js 提供一个官方命令行工具,可用于快速搭建大型单页应用.该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程.只需几分钟即 ...
- Android自定义View实现仿QQ实现运动步数效果
效果图: 1.attrs.xml中 <declare-styleable name="QQStepView"> <attr name="outerCol ...
- 调整Linux的最大文件打开数
要调整一下Linux的最大文件打开数,否则squid在高负载时执行性能将会很低.另外,在Linux下面部署应用时,有时候会遇上 Socket/File:Can’t open so many files ...
- 6/5 sprint2 看板和燃尽图的更新
- 课堂alpha发布
项目组名:奋斗吧兄弟 今天七组对于各自项目现有的成果进行了alpha发布,下面是我的一些感想. 天天向上团队的连连看游戏: 令我印象最深的是天天向上团队的连连看项目,他们目前能展示给我们的是核心的连连 ...
- 累计进度条 PSP 饼图
累计进度条 PSP 饼图 每周例行报告 本周PSP 类别 任务 开始时间 结束时间 被打断时间 总计工作时间 2016年9月24日 读书 构建之法-6.7章 19:00 20:00 2 58m ...
- [转帖]2018年JVM生态系统报告出炉
很多未解之谜终于有答案了——2018年JVM生态系统报告出炉 https://blog.csdn.net/hollis_chuang/article/details/84134298 2018年1 ...
- 固态盘经常性蓝屏处理方法(WIN7/8)
型号:intel 520S 大小;120G 我的是笔记本,这段时间辞职,有了时间折腾自己的电脑系统了,想装WIN8来着,PE下直接把固态盘的分区都干掉了,分了C,D(40G,剩下的空间),安装阶段完美 ...
- mac下快速安装gearman和php扩展
1.brew install gearman 用brew安装gearman 2.pecl install gearman 用pecl安装php的gearman扩展 3.ln -s /usr/local ...
- [转]正确设置nginx/php-fpm/apache权限
核心总结:php-fpm/apache 进程所使用的用户,不能是网站文件所有者. 凡是违背这个原则,则不符合最小权限原则. 根据生产环境不断反馈,发现不断有 php网站被挂木马,绝大部分原因是因为权限 ...