sed memberikan kesalahan "urutan byte ilegal" ketika mencoba mengganti karakter


0

Saya menggunakan "Terminal" di Mac OS X 10.10 (Yosemite) dan saya mencoba menghapus semua kemunculan a dari file, dengan menggunakan sed:

sed 's/a//g' file

Yang memberi saya kesalahan berikut:

sed: RE error: illegal byte sequence

sed 's/a//' file bekerja tanpa masalah. Kesalahan muncul ketika saya menambahkan g pengubah ekspresi reguler.



Apakah ini berarti bahwa penyandian file berbeda?
— sodiumnitrate

Seperti berdiri, sed berfungsi seperti yang diharapkan pada file teks. Jadi mungkin Anda harus mengedit pertanyaan Anda untuk memperjelas jenis file apa - dan apa isinya - Anda mencoba menjalankan perintah ini.
— JakeGould

Jawaban:


0

Anda perlu menambahkan -i bersama dengan dua yang kosong ''. Jadi akan terlihat seperti ini: sed -i '' 's/a//g' filename.txt

Penjelasannya adalah -i sama dengan di tempat (simpan segera kembali ke file asli)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.