Trang chủ / Linux / Làm quen với các lệnh lọc dữ liệu trong Linux

Làm quen với các lệnh lọc dữ liệu trong Linux

loc-du-lieu

Hôm nay chúng ta sẽ tìm hiểu về các lệnh lọc dữ liệu trong Linux. Thường các lệnh này được sử dụng kèm với pipes (trong bài hôm trước đã đề cập). Việc học các lệnh này có vẻ khô khan nhưng thực sự rất cần thiết cho công việc sau này nếu bạn muốn gắn bó với Linux.

Lệnh grep.

Lệnh grep cho phép chúng ta lọc ra các kết quả có chứa hoặc không chứa chuỗi từ khoá cần tìm. Lệnh này vô cùng thông dụng trong Linux.

Trong bài trước mình đã đưa ra một ví dụ về lệnh grep là Mình muốn kiểm tra xem trong Laptop mình đã cài chương trình youtube-dl chưa.

Đó là ví dụ đơn giản nhất về lệnh grep. Tuy nhiên trong bài hôm nay mình sẽ giới thiệu thêm các option của nó. Khi bạn sử dụng lệnh grep với option:

  • -i: Hệ thống sẽ lọc cho bạn các dữ liệu có chứa từ hoặc chuỗi mà bạn gõ vào nhưng không phân biệt chữ hoa và thường.
  • -v: Hệ thống sẽ lọc cho bạn dữ liệu không chứa từ hoặc chuỗi mà bạn gõ vào.
  • -A1: Hệ thống sẽ trả về dòng dữ liệu bạn muốn tìm và 1 dòng sau nó.
  • -B1: Hệ thống sẽ trả về dòng dữ liệu bạn muốn tìm và 1 dòng trước nó.
  • -C1: Hệ thống sẽ trả về dòng dữ liệu bạn muốn tìm và 1 dòng trước, 1 dòng sau nó.

Lệnh cut.

Lệnh cut cho phép bạn cắt ra những cột dữ liệu mong muốn trong 1 file. Bạn phải chỉ cho nó ký tự phân cách cột là gì và các cột dữ liệu bạn muốn lấy.

Ví dụ: Mình muốn lấy ra cột usernameuserid của 4 dòng cuối cùng trong file /etc/passwd thì gõ như sau:

Nguyên bản dữ liệu 4 dòng cuối trong file /etc/passwd là như thế này nè:

Nếu muốn chỉ ra dấu phân cách cột là space (khoảng trắng) thì bạn phải bọc khoảng trắng đó trong dấu nháy kép như sau: cut -d” “

Lệnh wc.

Lệnh wc (word count) cho phép bạn đếm số từ, số dòng, số ký tự trong một file dữ liệu. Bạn có thể sử dụng lệnh wc với các option:

  • -l (line): đếm số dòng có trong file dữ liệu.
  • -c (character): đếm số ký tự có trong file dữ liệu, nó đếm luôn ký tự khoảng trắng đó nha.
  • -w (word): đếm số từ trong một file dữ liệu.

Lệnh wc này hữu ích trong nhiều trường hợp. Mình lấy ví dụ như bạn muốn xem có bao nhiêu người đang đăng nhập vào máy chủ của mình thì gõ:

Trong laptop cá nhân của mình thì dĩ nhiên chỉ có một mình mình đang đăng nhập để dùng rồi. Còn trong môi trường máy chủ thì có khi nhiều hơn 1 đấy. Nói chung sau này gặp nhiều trường hợp sẽ thấy nó có ích thôi.

Lệnh sort.

Lệnh sort cho phép chúng ta sắp xếp dữ liệu theo thứ tự bảng chữ cái alphabe. Nếu muốn sắp xếp thứ tự số thì chúng ta thêm option -n.

Lệnh uniq.

Lệnh uniq loại bỏ các dữ liệu trùng lặp cho đỡ rối mắt. Khi dùng với option -c nó sẽ cho chúng ta biết dữ liệu đó lặp lại bao nhiêu lần.

Lệnh sed.

Lệnh sed (Stream Editor) là một công cụ mạnh mẽ cung cấp nhiều tính năng để ta thao tác với dữ liệu như thay thế, xóa dòng, in ra một số dòng…

Lệnh awk.

Awk là một ngôn ngữ lập trình cho phép chúng ta thao tác với nhiều cột và dòng của dữ liệu, hỗ trợ các chức năng như mảng và hàm… nhằm xử lý các tập tin văn bản.

Lệnh sedawk sẽ rất cần thiết cho các bạn làm việc với vai trò quản trị hệ thống Linux hoặc lập trình trên Linux. Tuy nhiên để hiểu và vận dụng được 2 công cụ này thì khá rắc rối. Ở mức độ của series “Tự học Linux cơ bản” này chúng ta sẽ rất ít sử dụng tới nên mình chỉ giới thiệu sơ.

Mình sẽ trình bày thành 2 bài riêng nếu có yêu cầu. Hoặc là sẽ trình bày trong series “Học quản trị máy chủ Linux” chẳng hạn 🙂

Xem video hướng dẫn.

Giới thiệu chipchip

Chipchip là một chú gà con đam mê công nghệ và ham học hỏi. Thích màu hồng. Câu nói yêu thích "Kiến thức không của riêng ai, kiến thức là để chia sẻ"

Đọc thêm

Kho ứng dụng Flatpak – khi những ứng dụng “bất chấp” nền tảng

Flatpak là một dự án mã nguồn mở xuất phát từ ý tưởng tạo ra …

Gửi phản hồi