我正在两台服务器之间迁移一些数据。数据保存在每台服务器上的相同文件夹结构中。
移动数据后,我想在所有受影响的 Linux 机器上更新 fstab 文件。我有一个 bash 脚本,它在服务器之间同步数据,然后登录到列表中的每台机器,并使用 sed 用新的 IP 地址更新 fstab。
sed "s/\(172.16.0.30\)\(.*\)\(${share}\)\(.*\)/172.16.0.35\2\3\4/"
这在过去工作得非常好,但是这次我正在迁移一个名称与其他几个非常相似的文件夹,假设 $share 是“home”:
home
home-old
home-ancient
我遇到的问题是这个正则表达式正在使用 $share 中包含的文本获取所有共享,而不仅仅是我想要的。
有没有办法调整正则表达式,以便它只替换我想要的单行上的 IP?我查看了 /b 变量,但似乎无法让它工作,不幸的是正则表达式通常让我感到困惑!