使用 sed 在包含路徑的右雙引號之前附加數據

使用 sed 在包含路徑的右雙引號之前附加數據

我需要將應用程式的路徑附加/opt/dell/dcc到預設路徑語句之外/etc/環境

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/dell/dcc"

問題是附加必須在結束內部雙引號包含路徑的對。

答案1

儘管此範例適用於編輯特定檔案中的路徑,但需要使用 sed 修改的設定檔中的許多指令值可以包含在一對引號之間。感覺這個解決方案可能會引起廣泛的興趣,我在下面分享了它:

sed 's#"$#:/opt/dell/dcc"#' /etc/environment

證明解決方案的螢幕截圖按描述工作

匹配最終引號的好處是,它確保即使將來路徑發生變化,此 sed 表達式仍然可以正確工作,在結束雙引號之前將自訂路徑附加到其末尾。

上面的 sed 表達式經過測試並且已知可以正常工作,但其他人可能有更優雅的方法來實現相同的結果;請隨時在這裡分享。

不要忘記添加-i開關以使更改在測試後保持不變-

相關內容