xargs 作为使用率很高的命令,但是长久不用就会模糊了记忆,所以要记录下来.
获取所有的cobbler相关的布尔值然后全部设置为真
getsebool -a|grep cobbler|awk '{print $1}'|xargs -i -n 1 setsebool -P {} on
查看cobbler的布尔值状态getsebool -a|grep cobbler|awk '{print $1" -> "$3}'
xargs命令的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。
可单独使用,也可使用管道符、重定位符等与其他命令配合使用。 xargs的默认动作是echo,默认分隔符为空白字符(空格,TAB,换行符)。常用的参数选项
-0,--null:以\0作为分隔符,接受到的特殊字符将当作文本符号处理;-d:指定分段的分隔符,默认分隔字符为空白字符;-a,--arg-file=file:指定命令标准输入的来源文件;-e'FLAG' 或者-E 'FLAG':指定一个终止符号,当xargs命令匹配到第一个FLAG后,停止传递,并退出命令;-p:每当xargs执行一个分段时,询问一次用户是否执行;-t:表示先打印执行的命令再输出;-n NUM:表示一个分段包含的参数个数,参数之间以分隔符隔开,默认是将所有的参数当作一个分段输出;-i:用于将分段分批传递给其后的{}进行输出,分段会替换{}所在的位置进行输出;-I "FLAG":可指定分段的替换符号,分段会分批替换到符号所在的位置进行输出执行;-L:指定每次执行的最大的非空行的行数;
xargs命令与管道符的区别: 管道符| 是将前一个命令的标准输出作为后一个命令的标准输入使用; 而xargs命令是将前一个命令的标准输出作为后一个命令的参数而使用;
文件批量重命名:
ls | xargs -i mv {} {}.bak 指定每次处理的参数个数:cut -d: -f1 /etc/passwd | xargs -n 3 echo(base) [root@localhost ~]# cut -d: -f1 /etc/passwd |xargs -n 3root bin daemonadm lp syncshutdown halt mailoperator games ftpnobody systemd-network dbuspolkitd libstoragemgmt colordrpc saned abrtrtkit pulse rpcusernfsnobody unbound glustertss usbmuxd geocluentp chrony sssdsetroubleshoot gdm gnome-initial-setupsshd avahi postfixtcpdump makeit apachedhcpd
更多使用请参考 man 帮助文档