Làm thế nào để bạn tìm thấy các ký tự không phải ascii trong python?
Các ký tự không phải ASCII là những ký tự không được mã hóa bằng ASCII, chẳng hạn như Unicode, EBCDIC, v.v. ASCII được giới hạn ở 128 ký tự và ban đầu được phát triển cho ngôn ngữ tiếng Anh Show Trong hướng dẫn này, chúng ta sẽ xem xét một số công cụ để tìm và đánh dấu các ký tự không phải ASCII trong tệp văn bản 2. Cài đặtHãy tạo một tệp mẫu. txt có nhiều dòng và ký tự không phải ASCII trong một số dòng
Chúng tôi sẽ sử dụng tệp này làm tệp mẫu trong suốt hướng dẫn 3. sử dụng grepgrep là viết tắt của in biểu thức chính quy toàn cầu. Nó tìm kiếm các mẫu ký tự cụ thể trong đầu vào và xuất ra tất cả các dòng khớp Lệnh grep có các biến thể khác nhau. Nó có sẵn trên hầu hết mọi hệ thống phân phối Linux theo mặc định. Ở đây, chúng ta sẽ tập trung vào GNU grep được sử dụng rộng rãi nhất Chúng ta có thể sử dụng lệnh này để tìm tất cả các ký tự không phải ASCII
Bây giờ, hãy hiểu lệnh này bằng cách chia nhỏ nó
Tùy thuộc vào cài đặt hệ thống của chúng tôi, lệnh trên có thể không hoạt động. Nó sẽ chỉ hiển thị một số ký tự không phải ASCII. Một cách khác là grep nghịch đảo của lệnh này, hoạt động hiệu quả hơn
Hoặc, chúng ta có thể grep nghịch đảo bằng cách sử dụng các lớp ký tự
Đây là phản hồi chúng tôi nhận được Lệnh này chỉ hiển thị các dòng chứa các ký tự không phải ASCII. Ngoài ra, nó làm nổi bật các ký tự không phải ASCII bằng màu đỏ Chúng tôi đã sử dụng “[^\x00-\x7F]” và “[^[. ASCII. ]]” như các biểu thức thông thường. Chúng khớp với nghịch đảo của tất cả các ký tự trong phạm vi ASCII 4. sử dụng pcregreppcregrep là một tiện ích để thực hiện tìm kiếm tệp cho các mẫu ký tự cụ thể. Nó sử dụng thư viện biểu thức chính quy PCRE để hỗ trợ các mẫu cụ thể tương thích với Perl 5. Chúng tôi có thể cài đặt nó thông qua trình quản lý gói Hãy sử dụng lệnh này để cài đặt trên các bản phân phối Debian, Ubuntu hoặc Kali
Trên bản phân phối Red Hat, chúng ta có thể sử dụng yum
Tiếp theo, hãy sử dụng pcregrep để kiểm tra các ký tự không phải ASCII trong mẫu của chúng tôi. tập tin txt
Ngoài ra, chúng ta có thể sử dụng các lớp ký tự
Chúng tôi nhận được đầu ra này Đây là một sự cố của lệnh
Chúng ta có thể thấy ở đầu ra rằng tất cả các ký tự không phải ASCII đã được thay thế và đánh dấu bằng màu đỏ 5. sử dụng perlperl ban đầu được xây dựng để quét, trích xuất và in thông tin trong các tệp văn bản tùy ý Nó đã phát triển thành ngôn ngữ lập trình đa năng được sử dụng rộng rãi cho nhiều tác vụ quản lý hệ thống perl có sẵn theo mặc định trên hầu hết các bản phân phối Linux. Nếu nó bị thiếu, chúng tôi có thể cài đặt nó ________số 8Tiếp theo, hãy tìm các ký tự không phải ASCII bằng perl
Theo mặc định, lệnh trên chỉ hiển thị các dòng chứa các ký tự không phải ASCII Hãy chia nhỏ lệnh để hiểu nó
6. sử dụng trChúng ta có thể sử dụng lệnh tr hoặc dịch để dịch hoặc xóa các ký tự cụ thể. Nó được cài đặt sẵn trong tất cả các bản phân phối Linux chính tr cho phép chúng tôi thực hiện chuyển đổi văn bản chẳng hạn như chữ hoa thành chữ thường, xóa các mẫu ký tự cụ thể, v.v. Hãy sử dụng nó để xóa tất cả các ký tự ASCII trong tệp mẫu của chúng tôi 0Chúng tôi đã sử dụng cờ -d để xóa tất cả các ký tự ASCII. Chúng tôi cũng đã sử dụng [. in. ]’ để khớp với tất cả các ký tự ASCII có thể in được Lệnh trên xóa tất cả các ký tự ASCII hiện tại. Nó chỉ in các ký tự không phải ASCII không bị xóa 7. sử dụng sedsed được sử dụng để thực hiện các chức năng khác nhau như tìm kiếm, tìm và thay thế, v.v. trên tập tin. Nó cho phép chúng tôi chỉnh sửa tệp nhanh chóng từ dòng lệnh mà không cần mở chúng Hãy tìm tất cả các ký tự không phải ASCII bằng cách sử dụng sed 1Bây giờ, hãy hiểu từng phần của lệnh
Lệnh trên chỉnh sửa tệp đầu vào ban đầu của chúng tôi. Nên tạo một bản sao của tệp đầu vào trước khi chạy lệnh Theo mặc định, lệnh trên sẽ không hiển thị bất kỳ đầu ra nào. Chúng ta có thể sử dụng lệnh cat để kiểm tra các thay đổi 2Chúng ta cũng có thể sử dụng lệnh sed này để đánh dấu các ký tự không phải ASCII 3Lệnh này thay thế mọi lần xuất hiện của ký tự không phải ASCII bằng giá trị bát phân của nó 8. Phần kết luậnTrong bài viết này, chúng ta đã tìm hiểu về các ký tự không phải ASCII. Chúng tôi cũng đã thảo luận về các công cụ khác nhau mà chúng tôi có thể sử dụng để tìm các ký tự không phải ASCII trong tệp văn bản tác giả dưới cùng Nếu bạn có một vài năm kinh nghiệm trong hệ sinh thái Linux và bạn muốn chia sẻ trải nghiệm đó với cộng đồng, hãy xem Nguyên tắc đóng góp của chúng tôi |