linux - 递归编辑特定名称的文件

标签 linux bash recursion edit

我需要一个脚本来执行以下操作,但不知道如何实现这个想法。

  1. 递归扫描目录/home/root/multicraft/servers 找到所有名为“server.properties”的文件
  2. 编辑文件,用“view-distance=4”替换“view-distance=(a number here)”

我该怎么做?

最佳答案

您可以使用find 递归地遍历目录。它可以通过-exec 执行命令。要编辑该文件,您可以使用 sed:

find /home/root/multicraft/servers \
    -name server.properties \
    -exec sed -i~ 's/view-distance=[0-9]\+/view-distance=4/' {} \;

关于linux - 递归编辑特定名称的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15315987/

相关文章:

linux - 如何使用带有 bash 的 sudo tee 在文件中写入 $something?

bash - 将视频从 60 FPS 转换为 25 FPS 而不会减慢它

mysql - 如何忽略bash脚本中的转义字符?

linux - 冰淇淋 : how can I make icecream to not name the files starting with a number

c - 共享文件描述符上的共享锁

c - 在试图终止父进程时,子进程仍在运行

function - Scala 递归函数值定义

c - 每个 inode 的文件位置?

java - Java中嵌套循环到递归函数的转换

Javascript 递归函数迭代 JSON 的中断条件