เข้ารหัสใหม่และล้างไฟล์ข้อความใน Terminal


1

ฉันมีชุดของไฟล์ข้อความที่มีการเข้ารหัสที่ไม่แน่นอนซึ่งฉันต้องล้างอักขระที่ผิดปกติ ฉันใช้ห้องสมุด chadetของไพธ อนเพื่อพิสูจน์ว่า 87% สอดคล้องกับ ISO-8859-2 แต่พวกเขายังคงมีอักขระที่ไม่สอดคล้องซึ่งป้องกันไม่ให้พวกเขาอ่านเป็น R - อธิบายไว้ในโพสต์ SOนี้ ฉันสงสัยว่ามีวิธีหรือไม่ควรใช้วิธีสั่งแบบบรรทัดคำสั่งเพื่อล้างข้อมูลชุดเหล่านี้และแปลงเป็น UTF-8 โดยที่อักขระที่ไม่ยืนยันใด ๆ จะถูกเปลี่ยนเป็น '~' ขอบคุณมากสำหรับความช่วยเหลือ

คำตอบ:


2

คุณเคยลองด้วยiconvหรือไม่ ฉันไม่รู้ว่า OSX มีคำสั่งนี้หรือไม่ แต่นี่คือตัวอย่าง:

iconv -t UTF-8 myfile.txt

หากล้มเหลวให้ลองแปลมัน:

iconv -t UTF-8//TRANSLIT myfile.txt

อัปเดต (จากความคิดเห็น):

หลังจากทำการทดลองเล็กน้อยiconv -t UTF-8//TRANSLIT -c infile > outfile.txtก็ทำงานได้ ขอบคุณเพื่อน.


อนิจจาฉันได้รับiconv: SMKA121212 copy:13:121: cannot convert
geotheory

แก้ไขคำตอบของฉันแล้วลองด้วย // TRANSLIT ดังที่แสดงไว้ด้านบน
Savvas Radevic

OS X iconv ดูเหมือนจะไม่รองรับการถอดเสียง
Daniel Beck

1
หลังจากทำการทดลองเล็กน้อยiconv -t UTF-8//TRANSLIT -c infile > outfile.txtก็ทำงานได้ ขอบคุณเพื่อน.
geotheory

2
การดำเนินงานของ libiconv iconvที่มาพร้อมกับ OS X ไม่สนับสนุนและ//TRANSLIT ดู//IGNORE man iconv_open
Lri
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.