{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/pdfgrep/feed/json -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/pdfgrep", "feed_url": "https://matoken.org/blog/tag/pdfgrep/feed/json", "language": "ja", "title": "pdfgrep – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "https://matoken.org/blog/?p=4794", "url": "https://matoken.org/blog/2025/12/05/pdfgrep/", "title": "pdf\u30d5\u30a1\u30a4\u30eb\u3092\u76f4\u63a5grep\u3067\u304d\u308bpdfgrep", "content_html": "

\n
\n

Terminal Trove \u3067pdfgrep \u3068\u3044\u3046\u30c4\u30fc\u30eb\u3092\u77e5\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n\n
\n

\n
\n

pdfgrep \u306fpdf \u30d5\u30a1\u30a4\u30eb\u3092grep \u3068\u540c\u69d8\u30d1\u30bf\u30fc\u30f3\u306b\u30de\u30c3\u30c1\u3059\u308b\u884c\u3092\u8868\u793a\u3057\u3066\u304f\u308c\u308b\u3082\u306e\u3067\u3059\uff0e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f GNU grep \u3092\u3042\u308b\u7a0b\u5ea6\u8e0f\u8972\u3057\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n
Debian sid \u74b0\u5883\u3067source \u304b\u3089build \u3059\u308b\u4f8b
\n
\n
$ sudo apt install libgcrypt20-dev libpoppler-cpp-dev\n$ git clone https://gitlab.com/pdfgrep/pdfgrep\n$ cd pdfgrep\n$ ./autogen.sh\n$ ./configure --prefix=$HOME/usr/local\n$ make\n$ make install
\n
\n
\n
\n
help
\n
\n
$ pdfgrep --help\nUsage: ./src/pdfgrep [OPTION]... PATTERN FILE...\n\nSearch for PATTERN in each FILE.\nPATTERN is, by default, an extended regular expression.\n\nCommonly used options:\n -i, --ignore-case              Ignore case distinctions\n -P, --perl-regexp              Use Perl compatible regular expressions (PCRE)\n -H, --with-filename            Print the file name for each match\n -h, --no-filename              Suppress the prefixing of file name on output\n -n, --page-number              Print page number with output lines\n -c, --count                    Print only a count of matches per file\n     --color WHEN               Use colors for highlighting;\n                                WHEN can be `always', `never' or `auto'\n -p, --page-count               Print only a count of matches per page\n -m, --max-count NUM            Stop reading after NUM matching lines (per file)\n -q, --quiet                    Suppress normal output\n -r, --recursive                Search directories recursively\n -R, --dereference-recursive    Likewise, but follow all symlinks\n     --cache                    Use cache for faster operation\n     --help                     Print this help\n -V, --version                  Show version information\n\nThe above list is only a selection of commonly used options. Please refer\nto the man page for a complete list.
\n
\n
\n
\n
\u9069\u5f53\u306apdf \u30d5\u30a1\u30a4\u30eb\u3092grep
\n
\n
$ pdfgrep raspberry ~/Downloads/MagPi128.pdf | head\nraspberrypi.com\n                       magpi@raspberrypi.com\n                       forums.raspberrypi.com\n                                                     lucy@raspberrypi.com\n                                                     rob@raspberrypi.com\n                                                     charlotte.milligan@raspberrypi.com\n                                                     brian.jepson@raspberrypi.com\n Learn Sense HAT             magpi@raspberrypi.com             (CC BY-NC-SA 3.0).
\n
\n
\n
\n
GNU grep \u3067\u3088\u304f\u4f7f\u3046\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u5229\u7528
\n
\n
$ pdfgrep -m5 -n -i raspberry ~/Downloads/MagPi128.pdf\n1:Issue 128     April 2023   magpi.cc    The official Raspberry Pi magazine\n1:   Discover coding with Raspberry Pi\n1:            NEW! RASPBERRY PI GLOBAL SHUTTER CAMERA\n2: Industrial Raspberry Pi\n3:(page 44) can help you out on this journey. I hope you take it.                 Raspberry Pi office\n                                     This Month in Raspberry Pi
\n
\n
\n
\n
\u65e5\u672c\u8a9e\u3082ok
\n
\n
$ pdfgrep -r -m1 -n \u30b5\u30fc\u30d0\u30fc ~/Nextcloud_matoken\\@files.matoken.org/Linux/2025/\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//sakura-cominuty-2025/snac-kagolug.pdf:2:\u30b5\u30fc\u30d0\u30fc\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e server.json \u3092\u7de8\u96c6\u3057\u307e\u3059\u3002 \"protocol\" \u3092\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//kagolug2025.08/slide/slide.pdf:1:  \u30eb\u30b5\u30fc\u30d0\u30fc\u306e\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//kagolug2025.09/slide/slide.pdf:19:ActivityPub\u3082\u5c11\u3057\u63a2\u3057\u305f\u304c\uff0c\u81ea\u5206\u3068\u30b5\u30fc\u30d0\u30fc\u306e\u843d\u3061\u3066\u3044\u308b\u3082\u306e\u3057\u304b\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//kagolug2025.09/slide/matoken-slide.pdf:19:ActivityPub\u3082\u5c11\u3057\u63a2\u3057\u305f\u304c\uff0c\u81ea\u5206\u3068\u30b5\u30fc\u30d0\u30fc\u306e\u843d\u3061\u3066\u3044\u308b\u3082\u306e\u3057\u304b\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//kagolug2025.10/slide/slide.pdf:10:     2     \u30b5\u30fc\u30d0\u30fc\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\uff0e\"protocol\" \u3092 \"http\"
\n
\n
\n
\n

\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u8a73\u7d30\u306f\u4ee5\u4e0b\u3092\uff0e

\n
\n
\n\n
\n
\n

\u3053\u308c\u307e\u3067\u306fpdf \u30d5\u30a1\u30a4\u30eb\u3092pdftotext \u306a\u3069\u3067\u30c6\u30ad\u30b9\u30c8\u306b\u5909\u63db\u3057\u3064\u3064grep \u306a\u3069\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3053\u308c\u3060\u3068\u3069\u306e\u30da\u30fc\u30b8\u5316\u304c\u5206\u304b\u308a\u3065\u3089\u304b\u3063\u305f\u3067\u3059\uff0epdfgrep \u3060\u3068 -n \u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u884c\u6570\u3067\u306f\u306a\u304f\u30da\u30fc\u30b8\u6570\u306b\u306a\u308b\u306e\u3067\u3053\u306e\u3042\u305f\u308a\u304c\u308f\u304b\u308a\u3084\u3059\u304f\u306a\u3063\u3066\u826f\u3055\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
$ pdftotext ~/Downloads/RetroBSD_and_LiteBSD.pdf - | grep -m5 -n -i retro\n1:RetroBSD and LiteBSD:\n15:  Contributing to RetroBSD since 2013\n30:  RetroBSD: an OS from the past in 128k RAM\n35:\n   RetroBSD and LiteBSD: an overview\n39:  RetroBSD: PIC32MX\n$ pdfgrep -m5 -n -i retro ~/Downloads/RetroBSD_and_LiteBSD.pdf\n1:RetroBSD and LiteBSD:\n3:  Contributing to RetroBSD since 2013\n4:  RetroBSD: an OS from the past in 128k RAM\n5:RetroBSD and LiteBSD: an overview\n5:     RetroBSD: PIC32MX
\n
\n
\n
\n

\u3068\uff0c\u4e00\u901a\u308a\u904a\u3093\u3067\u304b\u3089\u6c17\u3065\u3044\u305f\u306e\u3067\u3059\u304c\uff0cdebian \u306b\u306fpdfgrep \u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u7d50\u69cb\u524d\u304b\u3089\u5b58\u5728\u3057\u3066\u3044\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ apt-cache search pdfgrep\npdfgrep - \u6b63\u898f\u8868\u73fe\u306b\u30de\u30c3\u30c1\u3059\u308b\u6587\u5b57\u5217\u3092 pdf \u30d5\u30a1\u30a4\u30eb\u5185\u3067\u691c\u7d22\n$ rmadison pdfgrep\npdfgrep    | 2.1.2-1       | oldoldstable   | source, amd64, arm64, armhf, i386\npdfgrep    | 2.1.2-1       | oldstable      | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x\npdfgrep    | 2.2.0-0.1     | stable         | source\npdfgrep    | 2.2.0-0.1     | testing        | source\npdfgrep    | 2.2.0-0.1     | unstable       | source\npdfgrep    | 2.2.0-0.1     | unstable-debug | source\npdfgrep    | 2.2.0-0.1+b2  | stable         | amd64, arm64, armel, armhf, i386, ppc64el, riscv64, s390x\npdfgrep    | 2.2.0-0.1+b2  | testing        | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x\npdfgrep    | 2.2.0-0.1+b2  | unstable       | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x\n$ sudo apt install pdfgrep\n$ /usr/bin/pdfgrep -V\nThis is pdfgrep version 2.2.0.\n\nUsing poppler version 25.03.0\nUsing libpcre2 version 10.46 2025-08-27
\n
\n
\n
\n
\u74b0\u5883
\n
\n
$ pdfgrep -V\nThis is pdfgrep version 2.2.0.\n\nUsing poppler version 25.03.0\nUsing libpcre2 version 10.46 2025-08-27\nBuilt from git-commit v2.2.0-7-gaa71955\n$ /usr/bin/pdfgrep -V\nThis is pdfgrep version 2.2.0.\n\nUsing poppler version 25.03.0\nUsing libpcre2 version 10.46 2025-08-27\n$ dpkg-query -W poppler-utils\npoppler-utils   25.03.0-11.1+b1\n$ pdftotext -v\npdftotext version 25.03.0\nCopyright 2005-2025 The Poppler Developers - http://poppler.freedesktop.org\nCopyright 1996-2011, 2022 Glyph & Cog, LLC\n$ lsb_release -dr\nDescription:    Debian GNU/Linux forky/sid\nRelease:        n/a\n$ arch\nx86_64
\n
\n
\n", "content_text": "Terminal Trove \u3067pdfgrep \u3068\u3044\u3046\u30c4\u30fc\u30eb\u3092\u77e5\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\npdfgrep / pdfgrep \u00b7 GitLab\n\n\n\npdfgrep – A command line utility to search text in PDF files. – Terminal Trove\n\n\n\n\n\npdfgrep\n\n\n\n\n\npdfgrep \u306fpdf \u30d5\u30a1\u30a4\u30eb\u3092grep \u3068\u540c\u69d8\u30d1\u30bf\u30fc\u30f3\u306b\u30de\u30c3\u30c1\u3059\u308b\u884c\u3092\u8868\u793a\u3057\u3066\u304f\u308c\u308b\u3082\u306e\u3067\u3059\uff0e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f GNU grep \u3092\u3042\u308b\u7a0b\u5ea6\u8e0f\u8972\u3057\u3066\u3044\u307e\u3059\uff0e\n\n\nDebian sid \u74b0\u5883\u3067source \u304b\u3089build \u3059\u308b\u4f8b\n\n$ sudo apt install libgcrypt20-dev libpoppler-cpp-dev\n$ git clone https://gitlab.com/pdfgrep/pdfgrep\n$ cd pdfgrep\n$ ./autogen.sh\n$ ./configure --prefix=$HOME/usr/local\n$ make\n$ make install\n\n\n\nhelp\n\n$ pdfgrep --help\nUsage: ./src/pdfgrep [OPTION]... PATTERN FILE...\n\nSearch for PATTERN in each FILE.\nPATTERN is, by default, an extended regular expression.\n\nCommonly used options:\n -i, --ignore-case Ignore case distinctions\n -P, --perl-regexp Use Perl compatible regular expressions (PCRE)\n -H, --with-filename Print the file name for each match\n -h, --no-filename Suppress the prefixing of file name on output\n -n, --page-number Print page number with output lines\n -c, --count Print only a count of matches per file\n --color WHEN Use colors for highlighting;\n WHEN can be `always', `never' or `auto'\n -p, --page-count Print only a count of matches per page\n -m, --max-count NUM Stop reading after NUM matching lines (per file)\n -q, --quiet Suppress normal output\n -r, --recursive Search directories recursively\n -R, --dereference-recursive Likewise, but follow all symlinks\n --cache Use cache for faster operation\n --help Print this help\n -V, --version Show version information\n\nThe above list is only a selection of commonly used options. Please refer\nto the man page for a complete list.\n\n\n\n\u9069\u5f53\u306apdf \u30d5\u30a1\u30a4\u30eb\u3092grep\n\n$ pdfgrep raspberry ~/Downloads/MagPi128.pdf | head\nraspberrypi.com\n magpi@raspberrypi.com\n forums.raspberrypi.com\n lucy@raspberrypi.com\n rob@raspberrypi.com\n charlotte.milligan@raspberrypi.com\n brian.jepson@raspberrypi.com\n Learn Sense HAT magpi@raspberrypi.com (CC BY-NC-SA 3.0).\n\n\n\nGNU grep \u3067\u3088\u304f\u4f7f\u3046\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u5229\u7528\n\n$ pdfgrep -m5 -n -i raspberry ~/Downloads/MagPi128.pdf\n1:Issue 128 April 2023 magpi.cc The official Raspberry Pi magazine\n1: Discover coding with Raspberry Pi\n1: NEW! RASPBERRY PI GLOBAL SHUTTER CAMERA\n2: Industrial Raspberry Pi\n3:(page 44) can help you out on this journey. I hope you take it. Raspberry Pi office\n This Month in Raspberry Pi\n\n\n\n\u65e5\u672c\u8a9e\u3082ok\n\n$ pdfgrep -r -m1 -n \u30b5\u30fc\u30d0\u30fc ~/Nextcloud_matoken\\@files.matoken.org/Linux/2025/\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//sakura-cominuty-2025/snac-kagolug.pdf:2:\u30b5\u30fc\u30d0\u30fc\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e server.json \u3092\u7de8\u96c6\u3057\u307e\u3059\u3002 \"protocol\" \u3092\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//kagolug2025.08/slide/slide.pdf:1: \u30eb\u30b5\u30fc\u30d0\u30fc\u306e\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//kagolug2025.09/slide/slide.pdf:19:ActivityPub\u3082\u5c11\u3057\u63a2\u3057\u305f\u304c\uff0c\u81ea\u5206\u3068\u30b5\u30fc\u30d0\u30fc\u306e\u843d\u3061\u3066\u3044\u308b\u3082\u306e\u3057\u304b\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//kagolug2025.09/slide/matoken-slide.pdf:19:ActivityPub\u3082\u5c11\u3057\u63a2\u3057\u305f\u304c\uff0c\u81ea\u5206\u3068\u30b5\u30fc\u30d0\u30fc\u306e\u843d\u3061\u3066\u3044\u308b\u3082\u306e\u3057\u304b\n/home/matoken/Nextcloud_matoken@files.matoken.org/Linux/2025//kagolug2025.10/slide/slide.pdf:10: 2 \u30b5\u30fc\u30d0\u30fc\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\uff0e\"protocol\" \u3092 \"http\"\n\n\n\n\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u8a73\u7d30\u306f\u4ee5\u4e0b\u3092\uff0e\n\n\n\n\npdfgrep – Manpage for 2.2.0\n\n\n\n\n\u3053\u308c\u307e\u3067\u306fpdf \u30d5\u30a1\u30a4\u30eb\u3092pdftotext \u306a\u3069\u3067\u30c6\u30ad\u30b9\u30c8\u306b\u5909\u63db\u3057\u3064\u3064grep \u306a\u3069\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3053\u308c\u3060\u3068\u3069\u306e\u30da\u30fc\u30b8\u5316\u304c\u5206\u304b\u308a\u3065\u3089\u304b\u3063\u305f\u3067\u3059\uff0epdfgrep \u3060\u3068 -n \u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u884c\u6570\u3067\u306f\u306a\u304f\u30da\u30fc\u30b8\u6570\u306b\u306a\u308b\u306e\u3067\u3053\u306e\u3042\u305f\u308a\u304c\u308f\u304b\u308a\u3084\u3059\u304f\u306a\u3063\u3066\u826f\u3055\u305d\u3046\u3067\u3059\uff0e\n\n\n\n$ pdftotext ~/Downloads/RetroBSD_and_LiteBSD.pdf - | grep -m5 -n -i retro\n1:RetroBSD and LiteBSD:\n15: Contributing to RetroBSD since 2013\n30: RetroBSD: an OS from the past in 128k RAM\n35:\n RetroBSD and LiteBSD: an overview\n39: RetroBSD: PIC32MX\n$ pdfgrep -m5 -n -i retro ~/Downloads/RetroBSD_and_LiteBSD.pdf\n1:RetroBSD and LiteBSD:\n3: Contributing to RetroBSD since 2013\n4: RetroBSD: an OS from the past in 128k RAM\n5:RetroBSD and LiteBSD: an overview\n5: RetroBSD: PIC32MX\n\n\n\n\u3068\uff0c\u4e00\u901a\u308a\u904a\u3093\u3067\u304b\u3089\u6c17\u3065\u3044\u305f\u306e\u3067\u3059\u304c\uff0cdebian \u306b\u306fpdfgrep \u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u7d50\u69cb\u524d\u304b\u3089\u5b58\u5728\u3057\u3066\u3044\u307e\u3057\u305f\uff0e\n\n\n\n$ apt-cache search pdfgrep\npdfgrep - \u6b63\u898f\u8868\u73fe\u306b\u30de\u30c3\u30c1\u3059\u308b\u6587\u5b57\u5217\u3092 pdf \u30d5\u30a1\u30a4\u30eb\u5185\u3067\u691c\u7d22\n$ rmadison pdfgrep\npdfgrep | 2.1.2-1 | oldoldstable | source, amd64, arm64, armhf, i386\npdfgrep | 2.1.2-1 | oldstable | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x\npdfgrep | 2.2.0-0.1 | stable | source\npdfgrep | 2.2.0-0.1 | testing | source\npdfgrep | 2.2.0-0.1 | unstable | source\npdfgrep | 2.2.0-0.1 | unstable-debug | source\npdfgrep | 2.2.0-0.1+b2 | stable | amd64, arm64, armel, armhf, i386, ppc64el, riscv64, s390x\npdfgrep | 2.2.0-0.1+b2 | testing | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x\npdfgrep | 2.2.0-0.1+b2 | unstable | amd64, arm64, armhf, i386, ppc64el, riscv64, s390x\n$ sudo apt install pdfgrep\n$ /usr/bin/pdfgrep -V\nThis is pdfgrep version 2.2.0.\n\nUsing poppler version 25.03.0\nUsing libpcre2 version 10.46 2025-08-27\n\n\n\n\u74b0\u5883\n\n$ pdfgrep -V\nThis is pdfgrep version 2.2.0.\n\nUsing poppler version 25.03.0\nUsing libpcre2 version 10.46 2025-08-27\nBuilt from git-commit v2.2.0-7-gaa71955\n$ /usr/bin/pdfgrep -V\nThis is pdfgrep version 2.2.0.\n\nUsing poppler version 25.03.0\nUsing libpcre2 version 10.46 2025-08-27\n$ dpkg-query -W poppler-utils\npoppler-utils 25.03.0-11.1+b1\n$ pdftotext -v\npdftotext version 25.03.0\nCopyright 2005-2025 The Poppler Developers - http://poppler.freedesktop.org\nCopyright 1996-2011, 2022 Glyph & Cog, LLC\n$ lsb_release -dr\nDescription: Debian GNU/Linux forky/sid\nRelease: n/a\n$ arch\nx86_64", "date_published": "2025-12-05T20:27:51+09:00", "date_modified": "2025-12-05T20:27:53+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g" }, "tags": [ "pdf", "pdfgrep", "Debian", "Linux", "sid" ] } ] }