Lệnh awk trong Linux là một công cụ mạnh mẽ được sử dụng để xử lý và phân tích dữ liệu văn bản theo dòng, cột hoặc điều kiện cụ thể. Nó có thể đọc, chỉnh sửa, lọc, và định dạng dữ liệu từ các tệp văn bản hoặc từ các đầu vào khác. awk được tích hợp sẵn trong hầu hết các hệ điều hành dựa trên Unix, bao gồm Linux, và thường được sử dụng trong các tập lệnh shell để tự động hóa các tác vụ xử lý dữ liệu.

Dưới đây là các phần quan trọng khi sử dụng lệnh awk:

Cấu trúc cơ bản của lệnh awk

awk
  • {print}: In ra toàn bộ các dòng trong tệp file.txt.

In cột cụ thể từ tệp

Ví dụ, nếu có tệp data.txt chứa:

awk
  • $1: Đại diện cho cột đầu tiên.
  • $2: Sẽ đại diện cho cột thứ hai, $3 cho cột thứ ba, và cứ thế.

Kết quả:

awk
NR
awk

Một số ví dụ nâng cao

In những dòng có độ dài hơn 30 ký tự

length($0)
  • Tính tổng các giá trị trong cột thứ hai và sau đó chia cho số dòng để lấy giá trị trung bình.

Kết luận

Lệnh awk rất hữu ích trong các tác vụ xử lý dữ liệu văn bản phức tạp, giúp bạn thực hiện mọi thứ từ in đơn giản đến các phép tính toán học và điều kiện phức tạp. awk đặc biệt mạnh mẽ khi làm việc với các tệp có cấu trúc hoặc khi cần phân tích và xử lý các tệp log, dữ liệu CSV, hay các tệp văn bản khác.