你可以使用 sed
命令来实现这个文本替换操作。以下是一个完整的 shell 脚本:
#!/bin/bash
# 定义文件路径
file_path="/home/leon/test/workflow/202508151630/application.yml"
# 使用sed命令替换文本
# 从注释行 '# mode: transport' 替换为 ' mode: rest'
sed -i 's/^#\s* mode: transport$/ mode: rest/' "$file_path"
echo "文件修改完成"
这个脚本会:
- 指定要修改的文件路径
- 使用
sed
命令进行精确替换:-i
表示直接修改文件s/
是替换命令^#\s*
匹配以#开头,后跟任意数量空白字符的行mode: transport$
精确匹配这一行的结尾- 替换为
mode: rest
并保持相同的缩进
如果你需要更精确的匹配或者有其他特殊情况,可以进一步调整正则表达式。