执行多条指令
采用-I参数
参考以下指令,打印了两次匹配到的文件名
[yeqiang@harbor spring-demo]$ find | grep \\.java | xargs -I param sh -c "echo param; echo param"
./src/main/java/com/example/demo/
./src/main/java/com/example/demo/
./src/test/java/com/example/demo/
./src/test/java/com/example/demo/
说明:-I param 将管道的输入存储在变量param中,如第一行匹配,等价于param="./src/main/java/com/example/demo/",sh -c指令中 echo param;等价于 echo "./src/main/java/com/example/demo/"
注意不是$param
执行单条指令
[yeqiang@harbor spring-demo]$ find | grep \\.java | xargs -i echo {}
./src/main/java/com/example/demo/
./src/test/java/com/example/demo/
说明:-i 参数将管道的输入存储在{}中,{}可出现在后续指令任意位置,但是只能引用一次。