一、xargs(英文全拼: extended arguments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
二、xargs 的一个选项 -I (ps i大写),使用 -I 指定一个替换字符串 {},这个字符串在 xargs 扩展时会被替换掉,当 -I 与 xargs 结合使用,每一个参数命令都会被执行一次。看下面的命令,复制所有图片文件到 /data/images 目录下:
ls *.jpg | xargs -n1 -I {} cp {} /data/images
三、使用-i参数将{}中内容替换为列表中的内容,跟上面的-I {} 一样。
3.1 -i参数 和 -I 一样,加-i 参数直接用 {}就能代替管道之前的标准输出的内容; 加 -I 参数 需要事先指定替换字符,多一个{},不然会报错,如下图。


3.2 查找目录的下ko文件,逐个复制到某个目录
find kernel/drivers/net/wireless/xxx_wlan/* -name "*.ko" | xargs -n1 -i cp {} $TARGET_OUT_VENDOR/lib/modules/wifi/
四、buildroot 用到

五、参考文章
xargs是一个用于给命令传递参数的过滤器,可组合多个命令。文中介绍了-xargs的-I选项,用于指定替换字符串,配合-n1执行多次命令,例如复制图片文件到指定目录。同时提到了-i参数与-I的区别,并给出find命令与xargs结合的例子,用于复制特定文件到目标目录。
6694

被折叠的 条评论
为什么被折叠?



