我無法使用sed替換值並寫入新文件。它寫入新文件,但未能更改任何值。這裏是我的代碼:sed不寫入文件
cd/mydirectory
echo "Enter file name:"
read file_input
file1= "$file_input"
file1= "$file1.b"
file2= "$file_input"
file2= "${file2}Ins.b"
sed "/\!cats!/s/\!cats!.*/cats!300!/g $file1>$file2
我只是想替換任何文本是與價值300只貓後,每當我運行此腳本,它不會覆蓋與300有什麼建議以前的值?
你有那些''在你的文件!?另外,你應該在你的'sed'行加上''file1'''和''$ file2'''用雙引號。不知道它會解決你的問題,但至少它應該防止如果文件名包含空格的腳本形式中斷。 (說到雙引號,在'sed「/ .../s/.../... /'表達式末尾缺少一個。) – Qeole
並且在你的'='符號後面的空格中刪除'file1/2 =」...「 '線。 – Qeole
@毛兒感謝您的幫助。 – OldMopMan