Trên Linux, tôi có một thư mục chứa rất nhiều tệp. Một số trong số chúng có các ký tự không phải ASCII, nhưng chúng đều là UTF-8 hợp lệ . Một chương trình có một lỗi khiến nó không hoạt động với tên tệp không phải ASCII và tôi phải tìm hiểu xem có bao nhiêu bị ảnh hưởng. Tôi sẽ làm điều này với find
và sau đó thực hiện một grep để in các ký tự không phải ASCII, và sau đó làm một wc -l
để tìm số. Nó không phải là grep; Tôi có thể sử dụng bất kỳ biểu thức chính quy Unix tiêu chuẩn nào , như Perl , sed , AWK , v.v.
Tuy nhiên, có một biểu thức chính quy cho 'bất kỳ ký tự nào không phải là ký tự ASCII' không?
/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F]