我想使用bash命令查找並替換多個文件中的字符串。我正在使用sed
,這是我不熟悉的。使用sed替換多個文件中的字符串
我的變量:
$FILE = (/home/user/file1.txt, /home/user/file2.txt)
$REL = 5.0
我的代碼:
for f in ${FILES[@]}; do sed -i "$f" "s/__ver__ =*/__ver__=$REL/g";
輸出:
sed: -e expression #1, char 2: unknown command: `/'
sed: -e expression #1, char 2: unknown command: `/'
什麼是錯我的表情?
可能在文件中出現多次'__ver__ ='? – RomanPerekhrest
@RomanPerekhrest不,只有一個。 – diegus
您嘗試分配'FILE'(但失敗,因爲'$'不應該在那裏),但是您嘗試使用'FILES'。其實,你也不應該爲你的私有變量使用大寫字母。事實上,我認爲沒有很好的理由將文件名放在變量中。同樣,你想'REL = 5.0'沒有美元符號,等號周圍沒有空格。 – tripleee