Похоже, вы неправильно понимаете, что grep ищет все вхождения в файле и что файл PDF написан на языке разметки для отображения графического вида текста и изображений.
Использование в качестве примера очень простого текстового файла
$ cat << EOF > example.txt
> one dog
> two cats
> three chickens
> EOF
мы конвертируем его в postscript, а затем в pdf
$ a2ps example.txt -o example.ps
[example.txt (plain): 1 page on 1 sheet]
[Total: 1 page on 1 sheet] saved into the file `example.ps'
$ ps2pdf example.ps example.pdf
, поэтому у нас есть 3 файла с одинаковым текстом, но постскриптум и PDF имеют свою разметку вокруг оригиналаtext.
Теперь, если мы попросим grep найти курицу
$ grep chicken example.*
example.ps:(three chickens) N
example.txt:three chickens
, вы увидите, что PDF-файл не содержит chicken
в виде простого текста.Это потому, что исходный текст сжат внутри PDF.
Ваш результат mold
является ложным срабатыванием.Текст внутри PDF сжат, и grep не может его найти.