用途

标准输入流读取参数(空格或者换行符分隔),传递给需要执行的命令

用法

xargs [options] [command [initial-arguments]]

常用选项

--arg-file=file
-a file

从文件中读取参数

--null
-0

空字符作为分隔符,当参数中包含空格或者换行符时使用

--delimiter=delim
-d delim

指定参数分隔符

--max-args=max-args
-n max-args

设置传递的参数个数

--interactive
-p

显示交互提示

--no-run-if-empty
-r

参数为空时不执行

--verbose
-t

打印执行的命令信息

--version

显示命令版本信息

--max-procs=max-procs
-P max-procs

设置可执行的最大进程,默认是1,0表示不限制

-I replace-str

用参数替换命令初始参数占位符

实践

1.文件中读取参数
[root@vm ~]# xargs -a t.log echo
a b

2.参数空字符分隔
[root@vm ~]# xargs -0 -a t.log echo
a
b

3.指定参数分隔符
[root@vm ~]# echo 'b##cc' >> t.log
[root@vm ~]# xargs -a t.log -d '#' echo
a
b
b cc

4.设置每次传递一个参数且执行命令前提示
[root@vm ~]# xargs -a t.log -n 1 -p echo
echo a ?...y
echo b ?...a
y
echo b##cc ?...b
y
b##cc

5.删除/tmp目录下文件名为core的文件
a.文件名没有包含特殊字符(空格,换行符)
[root@vm ~]# find /tmp -name core -type f -print | xargs /bin/rm -f
[root@vm ~]#
b.文件名包含特殊字符(空格,换行符)
[root@vm ~]# find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f
[root@vm ~]#

6.替换命令初始参数占位符
[root@vm ~]# xargs -a t.log -n 1 -I '{}' echo '{}'
a
b
b##cc

参考资料

【1】man xargs

N天学习一个linux命令之xargs的更多相关文章

  1. N天学习一个Linux命令之帮助命令:man

    前言 工作中每天都在使用常用的命令和非常用的命令,忘记了用法或者参数,都会bing一下,然后如此循环.一直没有真正的系统的深入的去了解命令的用法,我决定打破它.以前看到有人,每天学习一个linux命令 ...

  2. N天学习一个Linux命令之free

    用途 查看系统内存(物理/虚拟/缓存/共享)使用情况 用法 free [-b | -k | -m | -g | -h] [-o] [-s delay ] [-c count ] [-a] [-t] [ ...

  3. N天学习一个linux命令之ping

    用途 检测主机是否可到达,也就是说,目标主机是否可以联网,还可以用于检测网速.通过发送ICMP ECHO_REQUEST数据包检测. 用法 ping [options] destination 常用选 ...

  4. N天学习一个linux命令之kill

    用途 用于终止进程 用法 kill [-s signal|-p] [--] pid... kill -l [signal] 说明 1.默认发送信号15(请求终止进程,程序可以捕获,操作系统会杀死没有对 ...

  5. N天学习一个linux命令之du

    用途 统计文件或者目录占用硬盘空间大小 用法 du [OPTION] [FILE]du [OPTION] --files0-from=F 常用参数 -a, --all统计所有文件,不仅仅是目录 -b, ...

  6. N天学习一个linux命令之scp

    用途 通过ssh通道,不同主机之间复制文件 用法 scp [options] [user@host:]file1 [user2@host2:]file2 常用参数 -1使用 ssh 1协议 -2使用s ...

  7. 每天学习一个Linux命令-目录

    在工作中总会零零散散使用到各种Linux命令,从今天开始详细的学习一下linux常用命令,坚持每天一个命令,学习的主要参考资料为: 1.竹子-博客(https://www.cnblogs.com/pe ...

  8. N天学习一个linux命令之umask

    前言 umask不是linux命令,而是shell内置的指令,俗称用户权限掩码,用于对用户创建的文件和目录设置默认权限.默认的权限掩码是0022,也就是说新创建的文件权限是0644,新创建的目录权限是 ...

  9. N天学习一个Linux命令之grep

    前言任何系统都会出问题,出了问题一般怎么排查BUG?这个时候程序中记录的异常日志以及关键节点的日志就非常重要了,面对一大堆的日志文件,怎么找出我们需要的有用信息呢?linux中可以使用grep命令查找 ...

随机推荐

  1. vue实现全选,反选

    1.example.vue <template> <table class="table-common"> <tr> <th class= ...

  2. HTML Email 编写指南

    今天,我想写一个"低技术"问题. 话说我订阅了不少了新闻邮件(Newsletter),比如JavaScript Weekly.每周收到一封邮件,了解本周的大事. 有一天,我就在想, ...

  3. @RequestParam 和 @RequestBody 接受的时间格式

    这两个接受的时间格式不相同 首先看一下他们的区别 @RequestParam用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容.(Ht ...

  4. [转]mysql的约束

    转自:http://blog.csdn.net/kqygww/article/details/8882990 MySQL中约束保存在information_schema数据库的table_constr ...

  5. js基础---数据类型转换

    js中数据类型: 简单数据类型: number:233,-34,0x23,023 string:"hello"或者'hello' boolean:true.false undefi ...

  6. Eclipse中搭建Apache Tomcat7源码调试环境

    第一步:获取Apache Tomcat7源码,读者可以从Apache 官方网站获取,官方下载地址: http://tomcat.apache.org/download-70.cgi 注意选择Sourc ...

  7. SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(2)数据获取与数据集操作 1. SET/SET效率高,建立的主表和建表索引的查询表一般不排序, 2. BY语句,DATA步中,BY语句规定 ...

  8. 移动web——媒体查询

    基本概念 响应式开发在没有媒体查询前,也可以通过js来实现,但是人们基本不会考虑,特别繁琐.在出现了媒体查询,才开始逐渐推广响应式.实际开发中,在时间与金钱充足的情况下还是别做响应式,影响性能,维护麻 ...

  9. Ajax——php基础知识(二)

    header header('content-type:text/html; charset= utf-8');//设置编码格式为:utf-8 header('location:http://www. ...

  10. CSS——dispaly、overflow、visibility、opacity

    隐藏盒子: 1.overflow:hidden;             隐藏盒子超出的部分. 2.display: none;                    隐藏盒子,而且不占位置.(用的最 ...