Tr trong Linux (còn gọi là “translate”) là một tiện ích mạnh mẽ cho phép thay thế hoặc xóa các ký tự hoặc chuỗi ký tự trong một chuỗi văn bản. Bạn có thể sử dụng tr để thực hiện các tác vụ như đổi chữ hoa thành chữ thường, xóa các ký tự đặc biệt, tách các cột trong file, và nhiều hơn nữa.
Cú pháp cơ bản của tr như sau:
tr [options] set1 [set2]
options
: các tùy chọn để chỉ định hành động cụ thể của tr, ví dụ như-d
để xóa ký tự hoặc-s
để chỉ giữ lại một ký tự duy nhất trong trường hợp xuất hiện nhiều lần.set1
: các ký tự hoặc chuỗi ký tự cần thay thế hoặc xóa.set2
: các ký tự hoặc chuỗi ký tự được sử dụng để thay thế các ký tự hoặc chuỗi ký tự được chỉ định trongset1
. Nếu không được chỉ định, tr sẽ loại bỏ các ký tự hoặc chuỗi ký tự được chỉ định trongset1
.
Dưới đây là một số ví dụ về cách sử dụng tr trong Linux:
Thay thế tất cả các chữ hoa thành chữ thường:
$ echo "HELLO WORLD" | tr '[:upper:]' '[:lower:]'
hello world
Xóa tất cả các ký tự đặc biệt:
$ echo "Hello! My name is John." | tr -d '[:punct:]'
Hello My name is John
Xóa tất cả các khoảng trắng đầu và cuối chuỗi:
$ echo " Hello world! " | tr -d '[:blank:]'
Hello world!
Tách các cột trong file ngăn cách bằng dấu cách và chỉ lấy cột thứ hai:
$ cat example.txt
John Doe 25
Jane Smith 30
Bob Johnson 40
$ cat example.txt | tr -s ' ' | cut -d ' ' -f 2
Doe
Smith
Johnson
Loại bỏ tất cả các dấu cách trong một chuỗi:
$ echo "This is a test." | tr -d ' '
Thisisatest.