有时候需要传递变量给xargs来执行,则使用-I {}
参数
echo 192.168.1. | xargs -I{} grep {} *.txt
export TEST=hallo2
echo "hallo" | xargs sh -c 'echo passed=$1 test=$TEST' sh
xargs有一个神奇的功能就是将一个命令的多行输出转换成一行,这样就方便在shell中引用为字符串变量进行分隔处理
um@server#ls -1 *.sh
linux_sysinfo.sh
aix_sysinfo.sh
audit_script.sh
chperm_messages.sh
um@system#ls -1 *.sh | xargs
linux_sysinfo.sh aix_sysinfo.sh audit_script.sh chperm_messages.sh