2009-11-30 9 views
5

Làm thế nào tôi có thể đọc chính xác các tệp trong mã hóa khác với UTF8 trong Awk?Làm thế nào để đọc tệp với các mã hóa khác nhau bằng Awk?

Tôi có tệp bằng mã hóa tiếng Hebrew/Windows-1255. Bản in đơn giản {print $ 0} awk in như . Tôi làm cách nào để đọc chính xác?

+1

Điều đó hoàn toàn có thể có liên quan đến thiết bị đầu cuối của bạn. –

Trả lời

6

awk chính nó không có bất kỳ hỗ trợ để xử lý mã hóa khác nhau. Nó sẽ tôn vinh miền địa phương được chỉ định trong môi trường, nhưng đặt cược tốt nhất của bạn là chuyển mã đầu vào sang mã hóa thích hợp trước khi giao nó thành awk.

-f là định dạng bạn muốn chuyển đổi, -t là định dạng đích và -c bỏ qua bất kỳ ký tự không hợp lệ nào kết thúc sớm hoạt động của biểu tượng. Tất nhiên - trợ giúp sẽ cung cấp thêm chi tiết.

iconv -c -f cp1255 -t utf8 somefile | awk ... 
+0

tuyệt. cảm ơn. (ký tự phụ ...) –