sed 命令用法,无需在 shell 脚本中定义变量

sed 命令用法,无需在 shell 脚本中定义变量

我有两个变量

source_repo="fdl_ppe_01_04_repos_svc"
target_repo="fdl_ppe_01_10_repos_svc"

我目前在 XML 文件中进行替换,将 $source_repo 的所有实例替换为 $target_repo:

sed "s/$source_repo/$target_repo/g" $1 > $1_changed

如何格式化 sed 命令,使其匹配模式“fdl_ppe_01_XX_repos_svc”并替换为 $target_repo (XX 只能是两位数)

...基本上我不想再在脚本中定义 $source_repo

我正在努力理解 sed 语法,因此非常感谢您的帮助!

答案1

在 sed 命令中使用的字符匹配:

字符类 - [:digit:] = 数字 [0-9]

sed "s/fdl_ppe_01_[0-9][0-9]_repos_svc/$target_repo/g" $1 > $1_changed

我相信 $1_changed 会给你想要的输出。

相关内容