Lệnh Pipe, Grep và Sắp xếp trong Linux / Unix với các ví dụ

Mục lục:

Anonim

Trong hướng dẫn này, chúng ta sẽ tìm hiểu-

  • Pipe trong Linux là gì?
  • lệnh 'pg' và 'more'
  • Lệnh 'grep'
  • Lệnh 'sắp xếp'
  • Bộ lọc là gì?

Pipe trong Linux là gì?

Pipe là một lệnh trong Linux cho phép bạn sử dụng hai hoặc nhiều lệnh để đầu ra của một lệnh đóng vai trò là đầu vào cho lệnh tiếp theo. Nói tóm lại, đầu ra của mỗi quy trình trực tiếp làm đầu vào cho quy trình tiếp theo giống như một đường ống. Ký hiệu '|' biểu thị một đường ống.

Pipes giúp bạn trộn hai hoặc nhiều lệnh cùng lúc và chạy chúng liên tiếp. Bạn có thể sử dụng các lệnh mạnh mẽ có thể thực hiện các tác vụ phức tạp trong nháy mắt.

Hãy để chúng tôi hiểu điều này với một ví dụ.

Khi bạn sử dụng lệnh 'cat' để xem một tệp kéo dài nhiều trang, lời nhắc sẽ nhanh chóng chuyển đến trang cuối cùng của tệp và bạn không thấy nội dung ở giữa.

Để tránh điều này, bạn có thể chuyển đầu ra của lệnh 'cat' thành 'less', lệnh này sẽ chỉ hiển thị cho bạn một độ dài cuộn của nội dung tại một thời điểm.

cat filename | less 

Một minh họa sẽ làm cho nó rõ ràng.

Bấm vào đây nếu video không thể truy cập được

lệnh 'pg' và 'more'

Thay vì 'less', bạn cũng có thể sử dụng.

cat Filename | pg 

hoặc là

cat Filename | more

Và, bạn có thể xem tệp ở dạng bit có thể tiêu hóa và cuộn xuống bằng cách chỉ cần nhấn phím enter.

Lệnh 'grep'

Giả sử bạn muốn tìm kiếm một thông tin cụ thể mã bưu điện từ một tệp văn bản.

Bạn có thể tự mình lướt qua nội dung để theo dõi thông tin. Một lựa chọn tốt hơn là sử dụng lệnh grep. Nó sẽ quét tài liệu để tìm thông tin mong muốn và hiển thị kết quả ở định dạng bạn muốn.

Cú pháp:

grep search_string

Hãy xem nó trong hành động -

Ở đây, lệnh grep đã tìm kiếm tệp 'mẫu', cho chuỗi 'Apple' và 'Ăn'.

Các tùy chọn sau có thể được sử dụng với lệnh này.

Lựa chọn Chức năng
-v Hiển thị tất cả các dòng không khớp với chuỗi đã tìm kiếm
-c Chỉ hiển thị số lượng các dòng phù hợp
-n Hiển thị dòng phù hợp và số của nó
-Tôi Khớp cả hai chữ hoa (hoa và thường)
-l Chỉ hiển thị tên của tệp với chuỗi

Hãy để chúng tôi thử tùy chọn đầu tiên '-i' trên cùng một tệp sử dụng ở trên -

Sử dụng tùy chọn 'i' grep đã lọc chuỗi 'a' (không phân biệt chữ hoa chữ thường) khỏi tất cả các dòng.

Lệnh 'sắp xếp'

Lệnh này giúp sắp xếp nội dung của tệp theo thứ tự bảng chữ cái.

Cú pháp cho lệnh này là:

sort Filename

Xem xét nội dung của một tệp.

Sử dụng lệnh sắp xếp

Cũng có các phần mở rộng cho lệnh này và chúng được liệt kê bên dưới.

Lựa chọn

Chức năng

-r

Đảo ngược việc sắp xếp

-n

Sắp xếp theo số

-f

Phân loại không phân biệt chữ hoa chữ thường

Ví dụ dưới đây cho thấy việc sắp xếp ngược lại nội dung trong tệp 'abc'.

Bộ lọc là gì?

Linux có rất nhiều lệnh lọc như awk, grep, sed, spell và wc. Bộ lọc nhận đầu vào từ một lệnh, thực hiện một số xử lý và đưa ra đầu ra.

Khi bạn nối hai lệnh, đầu ra "đã lọc" của lệnh đầu tiên được đưa cho lệnh tiếp theo.

Hãy hiểu điều này với sự trợ giúp của một ví dụ.

Chúng tôi có tệp sau 'mẫu'

Chúng tôi muốn chỉ đánh dấu các dòng không chứa ký tự 'a', nhưng kết quả phải theo thứ tự ngược lại.

Đối với điều này, có thể sử dụng cú pháp sau.

cat sample | grep -v a | sort - r

Hãy để chúng tôi nhìn vào kết quả.

Tóm lược:

  • Ống '|' gửi đầu ra của một lệnh dưới dạng đầu vào của lệnh khác.
  • Bộ lọc nhận đầu vào từ một lệnh, thực hiện một số xử lý và đưa ra đầu ra.
  • Lệnh grep có thể được sử dụng để tìm các chuỗi và giá trị trong tài liệu văn bản
  • Đường ống qua grep phải là một trong những cách sử dụng phổ biến nhất
  • lệnh 'sort' sắp xếp nội dung của tệp theo thứ tự bảng chữ cái
  • less, pg và nhiều lệnh hơn được sử dụng để chia một tệp dài thành các bit có thể đọc được