Có một chút thông thái máy tính cổ điển nói rằng If youđã gặp sự cố và quyết định giải nó bằng biểu thức chính quy, bây giờ bạn gặp hai vấn đề. Tất nhiên, điều này bắt nguồn từ nhận thức rằng biểu thức chính quy là một sự pha trộn phức tạp giữa các ký tự ma thuật và Voodoo. Biểu thức chính quy có thể cho phép bạn đạt được logic chương trình ngắn gọn và trang nhã một cách nhanh chóng và dễ dàng, nhưng chỉ khi bạn đã học cách hiểu chúng hoạt động như thế nào và tại sao. Chỉ về bất kỳ hệ thống Linux hoặc Mac nào đi kèm với một lệnh gọi công cụ regex mạnh mẽ grep và học grep là một nhiệm vụ cần thiết đối với bất kỳ người dùng thành thạo hoặc quản trị viên hệ thống nào. Hôm nay, hãy cùng khám phá một số điều bạn có thể làm với grep và cách nó có thể trở thành một trong những công cụ mạnh mẽ nhất trong kho vũ khí lập trình của bạn.

Làm thế nào nó hoạt động

Nói tóm lại, công việc của greps là tìm kiếm thông qua một khối đầu vào. Đó là khá mơ hồ, vì vậy nó được mô tả tốt nhất bằng ví dụ. Giả sử bạn có một tệp văn bản được gọi là distros.txt có danh sách các bản phân phối Linux, chẳng hạn như bản phân phối bên dưới.

Debian – Phân phối máy chủ ổn định
Ubuntu – Bản phân phối dành cho máy tính để bàn ban đầu dựa trên Debian
Kubuntu – Sử dụng máy tính để bàn KDE thay vì Gnome
Fedora – Tiếp tục của hệ thống máy tính để bàn Red Hat miễn phí
Gentoo – Một hệ thống Linux dựa trên mã nguồn, nhanh chóng dành cho người dùng chuyên nghiệp
SuSE – Linux thương mại do Novell sở hữu
Mint – Bản phân phối có nguồn gốc từ Ubuntu với phần mềm hạn chế bổ sung

Grep có thể được sử dụng để đọc qua văn bản và lọc nó để chỉ hiển thị những phần bạn muốn. Nếu bạn chỉ muốn xem các dòng có chứa từ Ubuntu, bạn sẽ chạy lệnh sau:

(Phiên bản grep của bạn có thể có hoặc không bao gồm tô sáng màu như trong ví dụ trên)

Phân biệt chữ hoa chữ thường

Bạn có thể nhận thấy rằng tìm kiếm cuối cùng của chúng tôi không trả về Kubuntu. Trừ khi được nói khác đi, grep sẽ giả định rằng bạn đã nhập biểu thức của mình chính xác theo cách bạn muốn và điều này áp dụng cho chữ hoa và chữ thường. Nếu bạn tìm kiếm ubuntu nhưng tệp văn bản của bạn chứa Ubuntu, tìm kiếm của bạn sẽ không tìm thấy gì. Để làm cho tìm kiếm của bạn không phân biệt chữ hoa chữ thường, hãy sử dụng -tôi chuyển đổi, như trong

Cả từ

Với lần tìm kiếm trước, bạn đã bao gồm tất cả các biến thể viết hoa của từ Ubuntu. Nó bao gồm Kubuntu vì nó chứa từ bạn đã tìm kiếm. Bạn có thể chỉ muốn bao gồm phiên bản tiêu chuẩn, không phải Kubuntu hoặc Edubuntu, v.v. Nếu đúng như vậy, bạn có thể yêu cầu grep khớp với toàn bộ từ chỉ bằng cách chuyển -w Lựa chọn.

grep-dashiw

Loại trừ

Nhiều như bạn có thể sử dụng grep để chỉ hiển thị các mục nhập phù hợp, bạn cũng có thể sử dụng nó để hiển thị mọi thứ NHƯNG các mục nhập phù hợp. Để mở rộng các tìm kiếm trước đây của chúng tôi, bây giờ chúng tôi có thể sử dụng -v tùy chọn để đảo ngược kết quả của chúng tôi và chỉ hiển thị các dòng không khớp.

loại trừ grep

Ký tự đại diện

Grep có hỗ trợ đầy đủ cho các ký tự đại diện khi khớp các mẫu. Khi sử dụng các ký tự đại diện và các ký tự đặc biệt khác, bạn muốn đảm bảo rằng mẫu tìm kiếm của mình nằm trong dấu ngoặc kép, vì vậy Linux shell không cố gắng diễn giải chúng trước khi grep có thể. Các ký tự đại diện phổ biến bao gồm * cho các nhóm ký tự và. đại diện cho một ký tự không xác định.

ký tự đại diện grep

Các dãy

Nếu các ký tự đại diện hơi quá rộng đối với bạn, bạn có thể chỉ định các ký tự riêng lẻ hoặc một phạm vi để đưa vào tìm kiếm của mình. Các ký tự trong dấu ngoặc vuông sẽ được đưa vào mẫu tìm kiếm của bạn. Ví dụ: nếu bạn có một tệp với danh sách như

Bạn có thể chọn một phạm vi cụ thể bằng cách sử dụng một cái gì đó như

Grep là một công cụ vô cùng mạnh mẽ và việc tìm hiểu kỹ về nó có thể mang lại hiệu quả theo mọi cách. Việc hiểu về grep cũng giúp việc chuyển sang các công cụ console mạnh mẽ khác như sed và awk trở nên đơn giản hơn nhiều. Giữa ba công cụ đó, một số lượng đáng kinh ngạc của bảng điều khiển và phép thuật tập lệnh có thể được thực hiện với ít nỗ lực hơn có thể. Nếu bạn là một fan hâm mộ của grep, hoặc muốn xem các công cụ khác như sed và awk được đề cập ở đây, vui lòng để lại ghi chú trong phần bình luận.

Bài viết này có hữu ích không?

Previous articleHướng dẫn cho người mới bắt đầu về Google Photos
Next articleCách xóa chi tiết thẻ tín dụng khỏi tài khoản Amazon AWS của bạn [Quick Tips]