linux查看包含关键字(grep -Ilr)的文件(xargs)并修改配置(sed)

grep -Ilr 3306 ./ | xargs -n1 -- sed -i 's/root:password/real_user:real_password/g'


另还有一种使用xagrs的写法:

  ls *.tar.gz|xargs -n1 tar tvfz

关键就在于这个xagrs的-n1参数是什么意思呢?

n1应该是指每次只传递一个参数给args命令,有高人写过如下脚本对比,非常能说明问题:

echo "1 2 3 4"|xargs -n1
1
2
3
4
echo "1 2 3 4"|xargs -n2
1 2

3 4

echo "1 2 3 4"|xargs -n3
1 2 3
4

这样,若加n1参数,则*.tar.gz会拆成每个tar.gz文件后,一个一个传给tar tvfz命令,这样就解决了问题。.


 --        A  --  signals the end of options and disables further option processing.  Any arguments after the -- are treated

                 as filenames and arguments.  An argument of - is equivalent to --.

如果没有记错的话,这个‘--’应该是表示选项的结束,也就是说后面的都是参数了,不再有选项存在。 这个应该主要是为了避免 后面的参数是以'-'开头的时候被识别为选项。 加上'--'以后,后面的参数即使是以‘-’开头,grep仍将其作为参数处理,而非一个选项。

好像POSIX命令都支持'--'选项,不知道这个有没有记错。

https://book.open-falcon.org/zh_0_2/quick_install/backend.html

https://www.cnblogs.com/softidea/p/3765222.html

你可能感兴趣的:(linux)