【xargs】关于 xargs 的使用

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 符号代替这个变量,然后这个变量就更灵活一些了。

posted @ 2023-12-01 16:44  aaacarrot  阅读(12)  评论(0编辑  收藏  举报