Các ký tự ASCII là các ký tự trong phạm vi từ 0 đến 177 (bát phân) .
Để xóa các ký tự bên ngoài phạm vi này trong một tệp, sử dụng
LC_ALL=C tr -dc '\0-\177' <file >newfile
Các trlệnh là một tiện ích hoạt động trên ký tự đơn , hoặc thay thế chúng với các nhân vật khác duy nhất (phiên âm), xóa chúng, hoặc nén chạy của nhân vật tương tự thành một nhân vật duy nhất.
Lệnh trên sẽ đọc từ filevà ghi nội dung đã sửa đổi vào newfile. Các -dtùy chọn để trlàm cho tiện ích ký tự xóa (thay vì chuyển ngữ chúng), và -clàm cho nó xem xét nhân vật bên ngoài khoảng thời gian nhất định (thay vì bên trong).
LC_ALL=Cđảm bảo rằng mỗi giá trị byte tạo thành một ký tự hợp lệ. Nếu không có nó, một số trtriển khai sẽ hủy bỏ nếu họ tìm thấy chuỗi byte không tạo thành các ký tự hợp lệ trong mã hóa ký tự của miền địa phương.
Để thay thế tệp gốc bằng tệp đã sửa đổi, hãy sử dụng
LC_ALL=C tr -dc '\0-\177' <file >newfile &&
mv newfile file
Điều này đổi tên tệp mới thành tên của tệp cũ sau khi trđã hoàn thành thành công. Nếu trkhông hoàn thành thành công, vì nó không thể đọc tệp gốc hoặc không ghi vào tệp mới, tệp gốc sẽ được giữ nguyên.
Ngoài ra, để bảo tồn càng nhiều càng tốt dữ liệu meta (quyền, v.v.) của tệp gốc, hãy sử dụng
cp file tmpfile &&
LC_ALL=C tr -dc '\0-\177' <tmpfile >file &&
rm tmpfile