我有一个很大的目录结构,其中包含许多名为“configuration.txt”的文件。对于在其路径中某处具有目录“n10”的 configuration.txt 的每个实例(并且该特定目录有许多这样的实例),我想进行搜索和替换,其中字符串“DNSMax = 的所有实例20"被替换为字符串 "DNSMax=50"。
请注意我的路径名包含空格。
谁能提供一个 Bash shell 脚本,如果从我的大型目录结构的根目录调用它,就能完成这个任务?
我正在使用 RedHat Linux。
谢谢!
最佳答案
使用 find
和 GNU sed
:
find / -path '*/n10/*' -name configuration.txt \
-exec sed -i 's/DNSMax=20/DNSMax=50/' {} \;
关于linux - 在 Bash Shell 中编写文件编辑脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22690150/