xargs 参数使用
(1)使用 xargs 执行指令:
有一个 info.log 文件
cat info.log
a
b
c
使用一下 xargs , 这样看起来意义不大
cat info.log | xargs echo
a b c
可以换一个场景,在某个文件夹下,找到指定文件名的文件,然后删除它
find ./test/ | grep -v 不能删 | xargs rm
find ./test/ | grep 要删除的文件 | xargs rm
嗯,digp这个场景,比较有用一些。更容易理解。
参数放后面?
但这个时候,会发现,前面管道的参数,是只能放在 xargs [options] 指令的后面。。。。
如果想把参数放在前面,或中间呢?要怎样写?
这个时候,就想,如果可以把参数,放到一个变量里面,用的时候,通过占位符(或变量)的方法,去用,那就太方便了。
于是:
可以这样写
cat info.log | xargs -I xx echo xx aaa xx bbb
a aaa a bbb
b aaa b bbb
c aaa c bbb
在这个例子里面, xx 只是一个符号,它可以是任何东西。。。。把 xx 换成 %
cat info.log | xargs -I % echo % aaa % bbb
a aaa a bbb
b aaa b bbb
c aaa c bbb
效果是一样的,
这个例子,同样有一点不太好看,比如这样说。
cat info.log | xargs -I 参数 echo 读取到的数据是: 参数
读取到的数据是: a
读取到的数据是: b
读取到的数据是: c
这个例子,感觉会好看一点,,,虽然感觉也还差不多。
但表达的是同个意思, xargs -I xx ,可以用这个 xx 符号代替这个变量,然后这个变量就更灵活一些了。