Cách sử dụng lệnh tr và fmt để thao tác văn bản trên Linux

Linux giúp thao tác và xử lý văn bản rất dễ dàng với hàng tấn lệnh. Các công cụ dòng lệnh như tr và fmt giúp bạn thay đổi, định dạng và sửa đổi các tệp văn bản ngay từ thiết bị đầu cuối của bạn.
Trong bài này, chúng ta sẽ thảo luận về cách sử dụng lệnh tr và fmt để định dạng văn bản trong các trường hợp sử dụng khác nhau. Vậy tr và fmt là gì? Và bạn sử dụng chúng như thế nào?
Mục Lục
Lệnh tr là gì?
Lệnh tr là cách viết tắt của từ, dịchvà giúp người dùng xóa hoặc thay thế các ký tự cụ thể trong tệp văn bản. Nó thường được sử dụng cùng với các lệnh khác và hoạt động bằng cách lấy đầu vào tiêu chuẩn, thực hiện một thao tác trên đó và ghi kết quả vào đầu ra tiêu chuẩn.
Cú pháp lệnh tr
Cú pháp cơ bản của lệnh tr là:
tr [option]... SET1 [SET2]
Tập hợp là các chuỗi ký tự và một số trình tự được diễn giải mà thiết bị đầu cuối tự động nhận dạng. Một số trong số chúng bao gồm:
\ Backslash
b Backspace
t Horizontal tab
v Vertical tab
[:alnum:] All letters and digits
[:alpha:] All letters
[:blank:] Horizontal whitespaces
[:digit:] All digits
[:lower:] All lowercase characters
[:punct:] All punctuation characters
[:space:] Horizontal or vertical whitespace characters
[:upper:] All uppercase letters
Cách sử dụng lệnh tr
Bạn có thể sử dụng lệnh tr để thay đổi các trường hợp của tệp văn bản, xóa số, thay thế khoảng trắng bằng tab và thậm chí đặt mọi từ trên một dòng mới. Khả năng của lệnh tr là rất lớn và bạn có thể đạt được rất nhiều điều nếu biết cách sử dụng nó.
Đối với ví dụ này, hãy tạo một tệp văn bản: muo.txt. Nội dung của tệp sẽ là:
smartreviewaz. Technology, Simplified! 1234
Thay thế các ký tự bằng lệnh tr
Để thực hiện việc này, hãy chỉ định các ký tự bạn muốn thay thế và những gì bạn muốn thay thế chúng. Ví dụ: nếu bạn muốn thay thế các ký tự đầu tiên của mỗi từ bằng ABCD, hãy thực hiện lệnh này:
cat muo.txt | tr MTS1 ABCD
Kết quả:
AakeUseOf. Bechnology, Cimplified! D234
Thay đổi văn bản từ chữ thường thành chữ hoa
Để thực hiện việc này, hãy thực hiện bất kỳ lệnh nào sau đây:
cat muo.txt | tr a-z A-Z
cat muo.txt | tr [:lower:] [:upper:]
Kết quả:
MAKEUSEOF. TECHNOLOGY, SIMPLIFIED! 1234
Thay đổi văn bản từ chữ hoa thành chữ thường
Để thực hiện việc này, hãy thực hiện bất kỳ lệnh nào sau đây:
cat muo.txt | tr A-Z a-z
cat muo.txt | tr [:upper:] [:lower:]
Kết quả:
smartreviewaz. technology, simplified! 1234
Thay thế khoảng trắng bằng tab
Để thay thế tất cả các khoảng trắng bằng các tab, hãy thực hiện lệnh này:
cat muo.txt | tr [:space:] 't'
Kết quả:
smartreviewaz. Technology, Simplified! 1234
Ngoài ra, nếu bạn muốn thay thế khoảng trắng bằng ký tự dòng mới — để in từng từ trên một dòng riêng biệt — hãy thay thế ” t” bằng ” n”.
Xóa ký tự bằng lệnh tr
Để xóa các ký tự, hãy sử dụng -d tùy chọn cùng với lệnh tr. Ví dụ: nếu bạn muốn xóa ký tự “e” khỏi mọi từ trong tệp muo.txt, hãy thực hiện lệnh này:
cat muo.txt | tr -d 'e'
Kết quả:
MakUsOf. Tchnology, Simplifid! 1234
Xóa tất cả các ký hiệu dấu câu
Nếu bạn muốn xóa tất cả các ký hiệu dấu câu trong tệp mà không chỉ định ký hiệu nào, hãy sử dụng -d tùy chọn cùng với trình tự được diễn giải, [:punct:]:
cat muo.txt | tr -d [:punct:]
Kết quả:
smartreviewaz Technology Simplified 1234
Xóa tất cả các chữ số bằng tr
Để xóa tất cả các chữ số trong tệp văn bản, hãy thực hiện lệnh sau:
cat muo.txt | tr -d [:digit:]
Kết quả:
smartreviewaz. Technology, Simplified!
Sử dụng tùy chọn bổ sung tr
Lệnh tr đi kèm với -c tùy chọn về cơ bản thực hiện ngược lại với hoạt động ban đầu. Hãy sử dụng lệnh trước làm ví dụ. Nếu bạn thêm tùy chọn bổ sung vào lệnh này, nó sẽ xóa tất cả các ký tự không phải là chữ số. Hãy xem:
cat muo.txt | tr -cd [:digit:]
Kết quả:
1234
Lệnh fmt là gì?
Lệnh fmt là một công cụ định dạng văn bản đơn giản mà bạn có thể sử dụng để in và xử lý văn bản trên Linux. Bạn cũng có thể sử dụng lệnh để định dạng thư trả lời email.
Để nhận trợ giúp về dòng lệnh liên quan đến lệnh fmt, hãy kiểm tra trang hướng dẫn sử dụng của nó bằng cách chạy:
man fmt
Cú pháp lệnh fmt
Cú pháp cơ bản của lệnh fmt là:
fmt [-WIDTH] [OPTION] [FILE]
Cách sử dụng lệnh fmt
Đối với ví dụ này, hãy tạo một tệp có tên file.txt và thêm văn bản sau:
Technology, Simplified
We're tech enthusiasts on a mission to teach the world how to use and understand the tech in their lives.
Sử dụng Lệnh fmt mặc định
Lệnh fmt mặc định tối ưu hóa văn bản và in ra ở định dạng dễ đọc hơn. Chiều rộng mặc định của lệnh fmt là 75 cột. Thực thi lệnh này để thử hoạt động fmt mặc định:
fmt file.txt
Kết quả:
Technology, Simplified We're tech enthusiasts on a mission to teach the
world how to use and understand the tech in their lives.
Thay đổi chiều rộng của văn bản
Để thay đổi chiều rộng của tệp, bạn sử dụng -w quyền mua. Cú pháp có dạng như sau:
fmt -w N filename
Để thay đổi chiều rộng tệp thành 20 cột, hãy thực hiện lệnh này:
fmt -w 20 file.txt
Kết quả:
Technology,
Simplified We're
tech enthusiasts on
a mission to teach
the world how to
use and understand
the tech in their
lives.
Tách dòng văn bản dài
Để chia các dòng dài, hãy sử dụng -S quyền mua. Hãy dùng thử:
fmt -s file.txt
Kết quả:
Technology, Simplified
We're tech enthusiasts on a mission to teach the world how to use and
understand the tech in their lives.
Thụt lề dòng đầu tiên của mỗi đoạn văn
Để đánh dấu dòng đầu tiên của mỗi đoạn bằng cách thụt lề, hãy sử dụng -t quyền mua. Đây là cú pháp:
fmt -t filename.
Hãy thử nó ra:
fmt -t file.txt
Kết quả:
Technology, Simplified
We're tech enthusiasts on a mission to teach the world how to use and
understand the tech in their lives.
tr và fmt: Các lệnh thao tác văn bản hữu ích
tr và fmt giúp việc định dạng và xử lý văn bản trở nên dễ dàng và tự động với các thao tác khác nhau mà chúng cung cấp. Linux và các hệ điều hành dựa trên Unix khác cung cấp một số lượng lớn các lệnh thao tác văn bản cho mọi nhu cầu định dạng văn bản của bạn. Bạn chỉ cần biết chúng là gì và làm thế nào để sử dụng chúng.