Lệnh tr trong Linux [10 ví dụ cụ thể]

Lệnh tr (viết tắt của translate) là một công cụ dòng lệnh hữu ích để dịch và/hoặc xóa các ký tự từ đầu vào stdin và ghi ra stdout. Đây là một chương trình hữu ích để thao tác văn bản trên dòng lệnh.

Bài viết này sẽ giải thích một số ví dụ tr lệnh  hữu ích cho những người mới sử dụng Linux.

Cú pháp để chạy lệnh tr như sau, trong đó các ký tự trong SET1 được dịch thành các ký tự trong SET2.

$ tr flags [SET1] [SET2]

Ví dụ về Lệnh tr trong Linux

1. Một trường hợp sử dụng đơn giản của lệnh tr là thay đổi tất cả các chữ thường trong văn bản thành chữ in hoa và ngược lại, như được hiển thị dưới đây.

$ cat linux.txt

linux is my life
linux has changed my life
linux is best and everthing to me..:)
$ cat linux.txt | tr [:lower:] [:upper:]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

2. Hoặc bạn có thể sử dụng lệnh sau để chuyển đổi tất cả các chữ thường thành chữ in hoa trong một tệp như được hiển thị.

$ cat linux.txt | tr [a-z] [A-Z]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

3. Để lưu kết quả ghi vào stdout vào một tệp để xử lý sau, hãy sử dụng tính năng chuyển hướng đầu ra của shell (>) như hiển thị dưới đây.

$ cat linux.txt | tr [a-z] [A-Z] >output.txt
$ cat output.txt 

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

4. Đối với việc chuyển hướng, bạn có thể gửi đầu vào đến tr sử dụng tiến trình đầu vào và chuyển hướng đầu ra đến một tệp sử dụng cùng lệnh, như được hiển thị.

$ tr [a-z] [A-Z] < linux.txt >output.txt

5. Tính năng tiện ích khác là, bạn có thể sử dụng cờ -d để xóa các ký tự, ví dụ, để loại bỏ các khoảng trống trong tên miền bằng lệnh sau.

$ cat domains.txt

www. tecmint. com
www. fossmint. com
www. linuxsay. com
$ cat domains.txt | tr -d '' 

www.tecmint.com
www.fossmint.com
www.linuxsay.com

6. Nếu có các ký tự lặp lại trong một chuỗi (ví dụ khoảng trống kép) trong văn bản bạn đang xử lý, bạn có thể sử dụng tùy chọn -s để nén các ký tự chỉ để lại một trường hợp duy nhất của nó.

$ cat domains.txt

www.tecmint.....com
www.fossmint.com
www.linuxsay.com
$ cat domains.txt | tr -s '' 

www.tecmint.com
www.fossmint.com
www.linuxsay.com

7. Cờ -c cho biết cho tr sử dụng bổ sung trong SET được nhận. Trong ví dụ này, chúng ta muốn xóa tất cả các chữ cái và chỉ giữ lại UID.

$ echo "My UID is $UID" | tr -cd "[:digit:]\n"
OR
$ echo "My UID is $UID" | tr -d "a-zA-Z"

8. Dưới đây là một ví dụ về việc chia một dòng đơn từ (câu) thành nhiều dòng, trong đó mỗi từ xuất hiện một cách riêng biệt.

$ echo "My UID is $UID"

My UID is 1000

$ echo "My UID is $UID" | tr " "  "\n"

My 
UID 
is 
1000

9. Liên quan đến ví dụ trước, bạn cũng có thể chuyển đổi nhiều dòng từ thành một câu duy nhất như được hiển thị.

$ cat uid.txt

My 
UID 
is 
1000

$ tr "\n" " " < uid.txt

My UID is 1000

10. Cũng có thể dịch chỉ một ký tự đơn, ví dụ, một dấu cách thành ký tự “ : ” như sau.

$ echo "Tecmint.com =>Linux-HowTos,Guides,Tutorials" | tr " " ":"

Tecmint.com:=>Linux-HowTos,Guides,Tutorials

Có một số ký tự chuỗi bạn có thể sử dụng với tr, để biết thêm thông tin, xem trang man của tr.

$ man tr

Đó là tất cả! tr là một lệnh hữu ích để thao tác văn bản trên dòng lệnh. Trong hướng dẫn này, chúng tôi đã hiển thị một số ví dụ về việc sử dụng lệnh tr  hữu ích cho những người mới sử dụng Linux. Bạn có thể chia sẻ ý kiến của mình với chúng tôi qua biểu mẫu bình luận bên dưới.