我有一個文件,名爲matteo_test.sh
,其中包含字符串/nettools/python_64
。 我想用/nettools/python_release/python278/
替換這個字符串。使用sed替換字符串正在工作但不保存文件
我做到以下幾點:
original_str='/nettools/python_64'
replace_str='/nettools/python_release/python278/'
sed "s~$original_str~$replace_str~" matteo_test.sh
當我執行的是,在命令行輸出我的文件matteo_test.sh
的全部內容。在此輸出內容下,我可以看到該字符串已被正確替換。
但是,文件本身的內容沒有被修改,因爲如果我重新打開它,我仍然可以看到裏面的舊字符串。
看來我執行的sed
命令將替換爲包含文件全部內容的字符串,而不是替換爲文件本身。
我不是Unix Shell的專家,所以我可能錯過了一個非常簡單的觀點:任何人都可以幫助我理解我在做什麼錯了嗎?
我的目的是將該字符串替換爲文件。
使用'sed -i'來更新文件中的內容 – Kalanidhi
@Kalanidhi非常感謝,它工作。請把它寫成答案,以便我接受並加註。 –