怎么向find + exec命令查找到的文件中追加相同的内容?

在linux下,通常有时候我们需要在你查找到相同类型的文件下,添加相同的一些信息,用find +exec怎么做到呢,比如我希望在*.conf文件类型的文件下追加,mem_buffer = 30M,我使用如下方法,但是不生效:
find . -type f -name "*.conf" -exec echo 'mem_buffer = 30M' >> {} \;
但是这种执行,只是会生成一个{}的文件,该如何解决?
已邀请:

Ansible - 项目实施 系统工程师

赞同来自: Geek小A

find . -type f -name "*.conf" -exec echo 'mem_buffer = 30M' >> {} \;
如你所写的,你虽然把文件查找出来了,用{}表示,但是系统并没有给你解释{}是你查找出来的文件,所以你需要强制引用,让bash可以解释,应该改为如下:
find . -type f -name "*.conf" -exec bash -c "echo 'mem_buffer = 30M' >> {}" \;
你可以试试

要回复问题请先登录注册