Các tiện ích dòng lệnh như grep và ack-grep là rất tốt cho việc tìm kiếm các tệp văn bản thuần túy cho các mẫu khớp với một biểu thức chính quy được chỉ định. Nhưng có bao giờ bạn thử sử dụng các tiện ích này để tìm kiếm các mẫu trong một tệp PDF không? Vâng, đừng! Bạn sẽ không nhận được bất kỳ kết quả nào vì những công cụ này không thể đọc được các tệp PDF; họ chỉ đọc các tệp văn bản thuần túy.

pdfgrep, như tên cho thấy, là một tiện ích dòng lệnh nhỏ mà làm cho nó có thể tìm kiếm văn bản trong một tập tin PDF mà không cần mở tập tin. Nó cực kỳ nhanh - nhanh hơn so với tìm kiếm được cung cấp bởi hầu như tất cả người xem tài liệu PDF. Sự khác biệt lớn giữa grep và pdfgrep là pdfgrep hoạt động trên các trang, trong khi grep hoạt động trên các dòng. Nó cũng in một dòng đơn nhiều lần nếu có nhiều hơn một kết quả trùng khớp được tìm thấy trên dòng đó. Hãy xem chính xác cách sử dụng công cụ.

Cài đặt

Đối với Ubuntu và các bản phân phối Linux khác dựa trên Ubuntu, nó khá đơn giản:

 sudo apt install pdfgrep 

Đối với các bản phân phối khác, chỉ cần cung cấp pdfgrep làm đầu vào cho trình quản lý gói và sẽ được cài đặt. Bạn cũng có thể kiểm tra trang GitLab của dự án, trong trường hợp bạn muốn chơi xung quanh với mã.

Chạy thử

Bây giờ bạn đã cài đặt công cụ, hãy chạy thử nghiệm. lệnh pdfgrep có định dạng sau:

 pdfgrep [TÙY CHỌN ...] PATTERN [FILE ...] 

TÙY CHỌN là danh sách các thuộc tính bổ sung để cung cấp cho lệnh như -i hoặc --ignore-case, cả hai đều bỏ qua phân biệt chữ hoa chữ thường giữa mẫu thông thường được chỉ định và một khi khớp với nó từ tệp.

PATTERN chỉ là biểu thức chính quy mở rộng.

FILE chỉ là tên của tệp, nếu nó nằm trong cùng thư mục làm việc hoặc đường dẫn đến tệp.

Tôi chạy lệnh trên tài liệu chính thức của Python 3.6. Hình ảnh sau đây là kết quả.

Các điểm nổi bật màu đỏ cho biết tất cả các địa điểm mà từ “hàng đợi” đã gặp phải. Chuyển -i như là tùy chọn cho lệnh bao gồm các kết quả phù hợp của từ “Queue.” Hãy nhớ rằng, trường hợp không quan trọng khi -i được chuyển thành một tùy chọn.

Tiện ích bổ sung

pdfgrep có khá nhiều tùy chọn thú vị để sử dụng. Tuy nhiên, tôi sẽ chỉ giới thiệu một vài ở đây.

  • -c hoặc --count : điều này ngăn chặn kết quả đầu ra bình thường. Thay vì hiển thị đầu ra dài của các kết quả phù hợp, nó chỉ hiển thị một giá trị biểu thị số lần từ được gặp trong tệp
  • -p hoặc --page-count : tùy chọn này in ra số trang của các trận đấu và số lần xuất hiện của mẫu trên trang
  • -m hoặc --max-count [number]: chỉ định số lượng kết quả trùng khớp tối đa. Điều đó có nghĩa là khi đạt được số lượng phù hợp, lệnh dừng đọc tệp.

Danh sách đầy đủ các tùy chọn được hỗ trợ có thể được tìm thấy trong các trang hướng dẫn sử dụng hoặc trong tài liệu trực tuyến pdfgrep. Đừng quên pdfgrep có thể tìm kiếm nhiều tệp cùng một lúc, trong trường hợp bạn đang làm việc với một số tệp hàng loạt. Màu tô sáng phù hợp mặc định có thể được thay đổi bằng cách thay đổi biến môi trường GREP_COLORS.

Phần kết luận

Lần tới khi bạn nghĩ đến việc mở một tệp PDF để tìm kiếm bất kỳ thứ gì. nghĩ đến việc sử dụng pdfgrep. Công cụ này có ích và sẽ giúp bạn tiết kiệm thời gian.