Tùy thuộc vào loại công việc bạn làm trên dòng lệnh trong Linux, bạn có thể muốn một tiện ích có thể hoạt động như một con dao đa năng của Thụy Sĩ để chỉnh sửa văn bản nhanh chóng. Rất may là có một công cụ có tên là tr, đủ điều kiện cho vai trò này. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của lệnh tr bằng một số ví dụ dễ hiểu.
Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ trong bài viết này đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS và trên Debian 10.
Sau đây là cú pháp của lệnh này:
đây là ý nghĩa của SET:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh tr hoạt động.
Lệnh trên tạo ra đầu ra sau trên hệ thống của tôi:
Sau đây là cách bạn có thể sử dụng tr để thực hiện việc này:
Sau đây là kết quả:
Sau đây là kết quả đầu ra mà nó tạo ra:
Sau đây là kết quả đầu ra mà nó tạo ra:
Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ trong bài viết này đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS và trên Debian 10.
Lệnh tr của Linux
Đây là cách trang hướng dẫn của công cụ giải thích về lệnh này:
Mã:
Dịch, nén và/hoặc xóa các ký tự khỏi đầu vào chuẩn, ghi vào đầu ra chuẩn.
Mã:
tr [OPTION]... SET1 [SET2]
Mã:
SET được chỉ định là chuỗi ký tự. Hầu hết đều tự biểu diễn. Các chuỗi được diễn giải là:
\NNN ký tự có giá trị bát phân NNN (1 đến 3 chữ số bát phân)
\\ dấu gạch chéo ngược
\a BEL có thể nghe được
\b dấu xóa lùi
\f nguồn cấp dữ liệu biểu mẫu
\n dòng mới
\r trả về
\t tab ngang
\v tab dọc
Câu hỏi 1. Làm thế nào để chuyển đổi chữ thường thành chữ hoa bằng tr?
Giả sử bạn muốn chuyển đổi câu "linux tutorial on howtoforge" thành chữ hoa, thì đây là cách bạn có thể thực hiện bằng tr.
Mã:
echo 'linux tutorial on howtoforge' | tr "[:lower:]" "[:upper:]"
Mã:
LINUX TUTORIAL ON HOWTOFORGE
Câu hỏi 2. Làm thế nào để xóa các khoảng trắng thừa bằng tr?
Giả sử bạn có một dòng như sau: "HowtoForge là một nguồn tài nguyên cực kỳ tốt cho các hướng dẫn về Linux". Và yêu cầu là xóa các khoảng trắng thừa khỏi dòng này.Sau đây là cách bạn có thể sử dụng tr để thực hiện việc này:
Mã:
echo 'HowtoForge là một nguồn tài nguyên cực kỳ tốt cho các hướng dẫn về Linux' | tr -s '[:space:]'
Mã:
HowtoForge là một nguồn tài nguyên cực kỳ tốt cho các hướng dẫn về Linux
Câu hỏi 3. Làm thế nào để xóa văn bản bằng tr?
Giả sử bạn muốn xóa dấu gạch nối khỏi dòng sau: "HowtoForge -- là -- một -- nguồn tài nguyên cực kỳ -- tốt -- cho -- các hướng dẫn về Linux." Sau đây là cách bạn có thể thực hiện việc này bằng tr.
Mã:
echo 'HowtoForge -- là -- một -- nguồn tài nguyên cực kỳ -- tốt -- cho -- các hướng dẫn về Linux' | tr -d '-'
Mã:
HowtoForge là một nguồn tài nguyên cực kỳ tốt cho các hướng dẫn về Linux
Câu hỏi 4. Làm thế nào để thay thế các ký tự bằng tr?
Trong phần trước, giả sử yêu cầu là thay thế dấu gạch nối bằng dấu chấm chẳng hạn. Sau đây là cách bạn có thể thực hiện điều đó bằng tr.
Mã:
echo 'HowtoForge -- là -- một -- nguồn -- cực kỳ -- tốt -- cho -- các hướng dẫn về -- Linux' | tr '-' '.'
Mã:
HowtoForge .. là .. một .. cực kỳ .. tốt .. tài nguyên .. cho .. Linux .. hướng dẫn