我一直在網上尋找這個答案,似乎無法找到它。如何使用sed替換配置文件的變量?
我有一個包含一個配置文件:
VAR1=VALUE1
VAR2=VALUE2
VAR3=VALUE3
VAR4=VALUE4
VAR5=VALUE5
VAR6=VALUE6
而且我想改變VAR5的值從值5至VALUE10。不幸的是,我不知道VALUE5的價值,所以我無法搜索它。所以基本上我需要使用sed(或其他)將VAR5的值替換爲我想要替換的值。
編輯:感謝確認的解決方案,我能夠在BASH中使用以下內容來編輯我的配置文件,方法是將參數傳遞給bash腳本。由於我傳遞給腳本的參數將包含斜線,所以斜線被逗號替換。
sed -i 's,^\(THISISMYVARIABLE=\).*,\1'THISISMYVALUE',' config.cfg
我的文件包含:
THISISMYVARIABLE=SOMEOLDVALUE
在bash運行sed命令後
THISISMYVARIABLE=THISISMYVALUE
「VALUE10」從哪裏來?它是否來自同一個文件中的另一行?或者它只是一些任意值? – Sildoreth
VAR5在我的配置文件是USER_INSTALL_DIR和VALUE10是什麼,它可能是垃圾。我想讓VAR5或在我的情況下USER_INSTALL_DIR設置爲我通過bash腳本傳遞給它的變量。感謝anubhava的評論,以下內容適用於我。我也用逗號替換了斜線,因爲我的bash腳本所傳遞的參數將包含斜線,因爲它傳遞的是用戶目錄。 – SomeGuyOnAComputer