Saya mencoba untuk menulis skrip shell untuk mengganti string SEARCH dengan string REPLACE di semua file direktori saat ini (direktori di mana skrip saya tetap).
Syarat yang saya miliki adalah: skrip harus mengganti 'string pencarian' menjadi 'ganti string' di semua file kecuali skrip shell saya.
Saya mencoba sed perintah di konsol. Itu bekerja seperti yang saya harapkan. Tetapi ketika saya menambahkan perintah sed ini ke skrip saya, itu melempar kesalahan.
Perintah dalam skrip saya (replace.sh) adalah:
search_str=is;
replace_str=IS;
sed -i.bak s/$search_str/$replace_str/g !(replace.sh)
Kesalahan yang saya dapatkan adalah:
./replace.sh: line 11: syntax error near unexpected token '('
./replace.sh: line 11: 'sed -i.bak s/$search_str/$replace_str/g !(replace.sh)'
Semoga Anda bisa membantu saya .. Terima kasih sebelumnya ..
shop
extglob dengan shopt -s extglob
skrip Anda.