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.