Đang tìm kiếm thứ gì? Cách grep nhiều chuỗi trong Linux
Thiết bị đầu cuối Linux có đầy đủ các lệnh hữu ích, nhưng ít lệnh nào mạnh mẽ như lệnh có vẻ đơn giản grep. Nó là viết tắt của Bản in Cụm từ Thông dụng Toàn cầu, in kết quả của các tìm kiếm hệ thống do người dùng xác định cho các bộ sưu tập các ký tự.
grep cực kỳ mạnh mẽ nhưng có thể khá đáng sợ khi sử dụng, vì vậy hôm nay, bạn sẽ tìm hiểu một số kiến thức cơ bản. Nếu bạn đang tìm kiếm một số thông tin trong các tài liệu trên máy của mình, thông thường, bạn sẽ tìm kiếm một số từ cùng một lúc.
Bài viết này tập trung vào cách tìm kiếm nhiều chuỗi bằng grep và sẽ chỉ cho bạn một số mẹo và thủ thuật tương tự để sử dụng grep nói chung.
Mục Lục
Tìm kiếm nhiều chuỗi trong grep
Trước khi bắt đầu, bạn cần đảm bảo rằng mình đã quen với một số kiến thức cơ bản về Linux. Đầu tiên, bạn sẽ cần có một thiết bị đầu cuối — trên hầu hết các hệ thống, bạn thực hiện việc này bằng tổ hợp phím Ctrl + Alt + Thoặc thông qua menu ứng dụng.
Bạn cũng sẽ cần phải làm quen với cách tham chiếu tệp theo đường dẫn bằng thiết bị đầu cuối. Ví dụ: nếu bạn muốn nhập đường dẫn cho tài liệu văn bản nằm trong một thư mục có tên công việc bên trong Trang Chủ thư mục, bạn sẽ tham chiếu nó bằng cách sử dụng định dạng sau:
~/work/textdocument.txt
Cú pháp này, sử dụng ~ và /, tiếp theo là vị trí của tệp trong thư mục chính, là vị trí bạn sẽ sử dụng để hiển thị lệnh grep tìm tệp nào.
Ví dụ: giả sử bạn muốn tìm mọi lần xuất hiện của các từ con ong và Vanessa trong một tài liệu văn bản có chứa kịch bản của bộ phim Bee năm 2007. Cú pháp có dạng như sau:
grep -E 'bee|Vanessa' ~/work/beescript.txt
Khi bạn chạy lệnh này, bạn sẽ nhận lại danh sách mọi dòng trong tài liệu có chứa từ con ong hoặc từ Vanessa.
Hãy chia nhỏ lệnh đó xuống một chút:
grep -E
Phần đầu tiên chạy lệnh grep với -E lựa chọn. Điều này hướng grep đến tìm kiếm bằng cách sử dụng Ebiểu thức chính quy xtended. Các loại biểu thức chính quy khác nhau là một chủ đề cho ngày khác — và việc thành thạo các biểu thức chính quy mất cả đời — nhưng với mục đích của hướng dẫn này, lệnh bold-E cho phép bạn tìm kiếm nhiều chuỗi bằng grep.
grep -E 'bee|Vanessa'
Phần tiếp theo chứa các chuỗi bạn muốn tìm kiếm. Chúng phải được chứa trong dấu ngoặc kép, với dấu gạch ngang giữa mỗi từ.
grep -E 'bee|Vanessa' ~/work/beescript.txt
Phần cuối cùng của lệnh gọi grep đưa đường dẫn đến tệp bạn muốn tìm kiếm; trong trường hợp này là kịch bản của bộ phim năm 2007 Bee.
Grep Mẹo và Thủ thuật
Đây là một khởi đầu tuyệt vời, nhưng có rất nhiều cách thực tế để sử dụng grep. Bây giờ bạn đã biết cách tìm nhiều chuỗi, đây là một số lệnh có thể đưa sức mạnh đó lên cấp độ tiếp theo:
grep -E 'bee|Vanessa' ~/work/beescript.txt ~/fun/mybeestory.txt
Lệnh này rất giống với lệnh trước, ngoại trừ việc nó trả về tất cả các dòng chứa bee và Vanessa từ cả kịch bản phim Bee và từ tệp văn bản câu chuyện Bee của riêng tôi.
Tuy nhiên, tất cả những đề cập về loài ong đang trở nên khá khó đọc.
grep -E 'bee|Vanessa' ~/work/beescript.txt ~/fun/mybeestory.txt | less
Thao tác này sử dụng cùng một lệnh grep và đưa nó vào ít hơn. Thao tác này sẽ mở ra kết quả ở định dạng dễ điều hướng, cho phép bạn cuộn lên và xuống bằng cách sử dụng j và k các phím và tìm kiếm trong kết quả bằng cách sử dụng / Chìa khóa.
grep -E 'bee|Vanessa' ~/work/beescript.txt ~/fun/mybeestory.txt > beeresults.txt
Giống như lệnh less, lệnh nói trên nhận kết quả grep và lưu tất cả chúng vào một tệp riêng biệt. Sau đó, bạn có thể mở tệp này trong trình soạn thảo văn bản yêu thích của mình để chỉnh sửa thêm.
Làm việc với grep trong Linux
Hy vọng rằng bạn đang hình dung về mức độ mạnh mẽ của grep — và điều này thậm chí không làm trầy xước bề mặt. Đi ra ngoài, và grep!
Đọc tiếp
Giới thiệu về tác giả