Tôi có tệp txt có tên COPYING được chỉnh sửa trên cửa sổ. Nó chứa cửa sổ phong cách eolCách tìm và loại bỏ các ký tự vô hình trong tệp văn bản bằng cách sử dụng emacs
$ file COPYING
COPYING: ASCII English text, with CRLF line terminators
Tôi đã cố gắng chuyển đổi nó thành kiểu unix bằng dos2unix. Bên dưới là đầu ra
$ dos2unix COPYING
dos2unix: Skipping binary file COPYING
Tôi rất ngạc nhiên khi thấy rằng chương trình dos2unix báo cáo là tệp nhị phân. Sau đó, sử dụng một số trình soạn thảo khác (không emacs) tôi thấy rằng các tập tin có chứa một nhân vật điều khiển. Tôi quan tâm để tìm tất cả các ký tự vô hình trong tập tin bằng cách sử dụng emacs.
By Googling tôi đã tìm thấy các giải pháp sau đó sử dụng tr
tr -cd '\11\12\40-\176' < file_name
Làm thế nào để làm điều tương tự trong emacs cách. Tôi đã thử chế độ hexl. Chế độ hexl hiển thị văn bản và các giá trị ascii tương ứng của chúng trong một bộ đệm duy nhất rất tuyệt vời. Cách tìm các ký tự có giá trị ASCII khác với 11-12, 40-176 (nghĩa là tab, dấu cách và ký tự hiển thị). Tôi đã cố tạo một biểu thức chính quy cho tìm kiếm đó, nhưng nó khá phức tạp.
Cảm ơn câu trả lời. Tôi muốn hiểu những gì biểu thức chính quy. Tôi đã gõ lệnh "description-character-set" rồi chọn "ascii" để xem bộ ký tự. Bạn có thể giải thích tại sao bạn bỏ lỡ C-j và ở đâu C-? được ghi lại. –
@Talespin_Kit 'C-i' là tab,' C-j' là dòng mới. – Gilles
Liên kết này http://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial.html nói rằng C-m là dành cho khóa RET. Tôi không thể tìm thấy tài liệu ở đâu C-? được ghi lại. Bạn có thể vui lòng chỉ nó ra. –