Sự khác biệt giữa Egrep và Fgrep Sự khác biệt giữa

Anonim

Egrep vs Fgrep

Egrep và fgrep đều là một phần của nhóm lệnh grep. Cả hai ví dụ egrep và fgrep đều được sử dụng trong Linux như các lệnh của người dùng để làm cho việc tìm kiếm trở nên dễ dàng hơn để thu thập các tệp văn bản thuần túy trong hàng ngàn dòng. Cả hai lệnh đều dựa trên các tiện ích tìm kiếm văn bản dựa trên DOS và các tệp tìm kiếm, thư mục và cây thư mục cho một văn bản hoặc từ cụ thể.

Grep là lệnh cơ bản cho cả hai ví dụ egrep và fgrep. "Grep" là viết tắt của từ "global expression print". "Grep hỗ trợ các lệnh biểu thức chính quy trong việc tìm kiếm các từ và thuật ngữ.

Egrep là một phần mở rộng của lệnh grep, một lệnh người dùng để tìm kiếm một chuỗi ký tự trong các dòng và nhiều mẫu bên trong một tập tin văn bản. Còn được gọi là grep mở rộng, nó tìm kiếm một trong các đối số có nhiều mẫu hơn. Egrep được sử dụng khi tài liệu được đặc trưng như một "biểu hiện mở rộng. "Khi sử dụng lệnh này, các ký tự đặc biệt như +,?,!, và các ký tự khác và chuỗi hữu ích sẽ mang lại kết quả thay vì hiển thị lỗi cú pháp. Điều này xảy ra bởi vì lệnh egrep giải thích chúng như là một phần của một biểu thức chính quy.

Biểu thức như dấu cộng, dấu chấm hỏi, thanh dọc và dấu ngoặc đơn thường được sử dụng làm toán tử giúp xác định kết quả. Biểu thức được đặt sau cụm từ tìm kiếm hoặc cụm từ thông dụng. Sau đây mô tả chức năng của các toán tử:

Biểu thức chính quy và một dấu cộng cho ra một hoặc nhiều kết quả của biểu thức chính quy.

Biểu thức chính quy trước dấu chấm hỏi cho phép so khớp không hoặc một kết hợp của cụm từ tìm kiếm đã cho.

Thanh dọc được sử dụng để tách nhiều biểu thức thông thường hoặc thuật ngữ tìm kiếm.

Dấu ngoặc được sử dụng để đính kèm và nhóm một biểu thức chính quy hoặc các từ.

Trong mã hoá lệnh "d" trong Linux, nó được biểu hiện bằng "grep-e"? ? egrep, hoặc egrep cộng với từ hoặc cụm từ để tìm kiếm trong tệp. Không có giới hạn nào cho bao nhiêu từ tìm kiếm có thể được bao gồm.

Trong khi đó, fgrep là một phần mở rộng của egrep. Trong Linux, nó được ký hiệu là "grep-f" và còn được gọi là một grep cố định. Nó tương tự như grep vì nó không nhận ra hay giải thích thông thường hoặc bất kỳ biểu thức đặc biệt hoặc các ký tự. Vì nó không hiểu các khả năng mở rộng của biểu thức chính quy, nó bỏ qua các ký tự này trong quá trình tìm kiếm. Nó chỉ trả về các từ và thuật ngữ phù hợp và không có gì khác.

Fgrep diễn giải các tài liệu như là một danh sách các chuỗi cố định. Quá trình tìm kiếm của nó rất nhanh so với các lệnh khác vì nó sử dụng thuật toán kết hợp chuỗi Aho-Corasick.

Tóm tắt:

1. Cả hai egrep và fgrep đều có nguồn gốc từ lệnh grep cơ bản. "Egrep" là viết tắt của "grep extended" trong khi fgrep là viết tắt của "grep fixed-string"."

2. Một lệnh egrep được sử dụng để tìm kiếm nhiều mẫu bên trong một tệp hoặc một loại kho dữ liệu khác trong khi frgrep được sử dụng để tìm các chuỗi.

3. Thuật ngữ "egrep" thường được biểu thị là "grep-e" trong khi "fgrep" được mã hoá là "grep-f. "

4. Lệnh egrep cho phép sử dụng các biểu thức chính quy mở rộng trong khi grep chỉ tìm kiếm từ hoặc thuật ngữ phù hợp mà người dùng đã chỉ định trong lệnh. Frep không nhận ra hoặc hiểu được biểu thức chính quy thường xuyên hoặc mở rộng.

5. So với các lệnh tìm kiếm khác, quá trình tìm kiếm cho fgrep rất nhanh vì nó chỉ liên quan đến từ tìm kiếm được cung cấp.

6. Lệnh egrep thường sử dụng toán tử để mang lại một nghiên cứu tìm kiếm tiến bộ hơn hoặc cụ thể. Một dấu cộng và dấu chấm hỏi đối với các biểu thức thông thường, cụm từ tìm kiếm hoặc các cụm từ tìm kiếm. Mặt khác, thanh dọc và dấu ngoặc đơn được sử dụng cho nhiều biểu thức thông thường với các chức năng đối lập. Thanh dọc ngăn cách các biểu thức trong khi toán tử dấu ngoặc đơn nhóm chúng.