我正在遷移2臺服務器之間的某些數據。數據保存在每臺服務器上的相同文件夾結構中。使用sed替換字符串(fstab)中文本的確切部分
數據移動後,我想更新所有受影響的Linux機器上的fstab文件。我有一個bash腳本,它可以在服務器之間rsyncs數據,然後登錄到列表中的每臺計算機並使用sed使用新的IP地址更新fstab。
sed "s/\(172.16.0.30\)\(.*\)\(${share}\)\(.*\)/172.16.0.35\2\3\4/"
這在過去行之有效的精絕,但是這一次我遷移具有非常相似的其他幾個人的名稱的文件夾,假設$共享是「家」:
home
home-old
home-ancient
我遇到的問題是,這個正則表達式使用$ share中包含的文本獲取所有的份額,而不僅僅是我想要的。
有沒有辦法調整正則表達式,以便它只會替換我想要的單行上的IP?我已經看了/ b變量,但似乎無法讓它工作,不幸的是,正則表達式通常讓我感到困惑!
如果你告訴我們,一個小的,說6號線,樣本輸入文件和預期產出,這將有助於我們來幫助你。 –