Giới thiệu
Text – một thuật ngữ mà các lập trình viên không còn xa lạ. Văn bản đại diện cho một tập hợp các câu, mỗi câu bao gồm nhiều từ và mỗi từ chứa nhiều ký tự. Cách biểu diễn ký tự sẽ khác nhau tùy vào ngôn ngữ được sử dụng. Xử lý dữ liệu văn bản này luôn tồn tại trong hầu hết các ngôn ngữ lập trình, đặc biệt là trong các ngôn ngữ thông dịch như Perl, Python, Ruby, v.v.
Tuy nhiên, trên hệ điều hành Linux, nhằm đơn giản hóa quá trình xử lý dữ liệu văn bản, các nhà phát triển đã tạo ra một số công cụ cơ bản dùng để xử lý dữ liệu văn bản trên cơ sở một chương trình chỉ thực hiện một công việc nhưng thực hiện tốt công việc đó nhất có thể. Điều quan trọng là các chương trình này không đòi hỏi kỹ năng lập trình phức tạp mà vẫn dễ dàng sử dụng được. Dưới đây, tôi sẽ giới thiệu về một số chương trình (lệnh) giúp việc xử lý dữ liệu văn bản trở nên thuận tiện hơn trên hệ điều hành Linux.
Các Lệnh Cơ Bản
Lệnh cat
Là một trong những lệnh cơ bản nhất trên Linux, lệnh cat
được sử dụng để tạo, chèn, hiển thị và ghép nội dung của file.
Để tạo một file, sử dụng cú pháp như sau:
cat > simple.txt << EOF
Nội dung nhập vào
EOF
Trong đó, EOF
là ký tự được khai báo và dùng để kết thúc việc nhập liệu. Bạn có thể sử dụng một chuỗi khác thay thế EOF
. Trong trường hợp file simple.txt
không tồn tại, một file mới sẽ được tạo với nội dung được nhập vào như trên. Nếu file đã tồn tại, nội dung mới sẽ ghi đè lên file hiện tại. Để tránh ghi đè dữ liệu, bạn có thể sử dụng cat >>
thay vì cat >
để dữ liệu được chèn vào cuối file.
Để hiển thị nội dung của một file, sử dụng cú pháp cat <tên_file>
.
Lệnh wc
Lệnh wc
có nghĩa là “word count” và được sử dụng để thống kê lượng dữ liệu trong file. Cú pháp đơn giản nhất là wc <tên_file>
. Kết quả sẽ hiển thị số dòng (line), số từ (word), số ký tự (character) và tên file.
Lệnh grep
Lệnh grep
được sử dụng để hiển thị các dòng chứa một phần nội dung cụ thể. Cú pháp grep <từ_cần_tìm> <tên_file>
. Hoặc bạn có thể sử dụng tùy chọn -c
để đếm số lần xuất hiện của từ thay vì hiển thị toàn bộ dòng. Ví dụ: grep -c <từ_cần_tìm> <tên_file>
.
Lệnh head
và tail
Hai lệnh head
và tail
có cách sử dụng tương tự nhau, đều dùng để lấy một phần văn bản từ file. Khác biệt duy nhất là lệnh head
lấy phần văn bản từ đầu file, trong khi lệnh tail
lấy phần văn bản từ cuối file. Ví dụ: head -n4 <tên_file>
sẽ lấy ra 4 dòng đầu tiên trong file, còn tail -n8 <tên_file>
sẽ lấy ra 8 dòng cuối cùng trong file. Bạn có thể sử dụng tùy chọn -c
thay vì -n
để lấy dữ liệu theo số ký tự.
Lệnh sort
Lệnh sort
được sử dụng để sắp xếp các dòng văn bản trong file. Cú pháp sort <tên_file>
. Bạn cũng có thể sử dụng các tùy chọn như -u
để bỏ qua các giá trị trùng lặp, -r
để sắp xếp theo thứ tự giảm dần (mặc định là tăng dần), và -f
để không phân biệt chữ hoa chữ thường.
Kết Luận
Trên đây chỉ là một số lệnh cơ bản nhất để thao tác với dữ liệu văn bản trên Linux. Vẫn còn rất nhiều lệnh hữu ích khác như cut
, sed
, awk
, v.v. Tuy nhiên, do hạn chế về khả năng, tôi sẽ tìm hiểu và bổ sung các lệnh này trong các bài viết tiếp theo. Mời bạn theo dõi các bài viết sắp tới để có thêm thông tin chi tiết.
HEFC đã chỉnh sửa và bổ sung bởi HEFC