<pre><code class="lang-auto">SEARCH_DIR="/some/dir/where/you/want/to/search/";
SEARCH_STRING="whatever-you-are-searching";
</code></pre>
<pre data-code-wrap="bash"><code class="lang-bash"># extraction du texte depuis un PDF
pdftotext "fichier.pdf" "fichier.txt"
</code></pre>
<pre data-code-wrap="bash"><code class="lang-bash"># combinaison avec grep
pdftotext "fichier.pdf" /dev/stdout |grep -H --label="fichier.pdf" -- "$SEARCH_STRING"
</code></pre>
<pre data-code-wrap="bash"><code class="lang-bash"># si vous souhaitez que grep affiche seulement la liste des fichiers PDF correspondants, ajoutez --files-with-matches
pdftotext "fichier.pdf" /dev/stdout |grep -H --label="fichier.pdf" --files-with-matches -- "$SEARCH_STRING"
</code></pre>
<pre data-code-wrap="bash"><code class="lang-bash"># trouver la liste possible des PDF à rechercher
find "$SEARCH_DIR" -type f -name '*.pdf' > list-of-pdf.txt
</code></pre>
<pre data-code-wrap="bash"><code class="lang-bash"># le tout assemblé par awk comme ruban adhésif, envoyé à bash pour traitement
les guillemets doubles sont échappés en x22 dans awk.
find "$SEARCH_DIR" -type f -name '.pdf' |awk -v SEARCH_STRING="$SEARCH_STRING" '{
print "pdftotext \x22"$0"\x22 /dev/stdout | grep -H --label=\x22"$0"\x22 -- \x22"SEARCH_STRING"\x22"
}' |bash
</code></pre>
<pre data-code-wrap="bash"><code class="lang-bash"># Sans bash. Traitement supplémentaire selon vos besoins
find "$SEARCH_DIR" -type f -name '.pdf' |awk -v SEARCH_STRING="$SEARCH_STRING" '
{
EXEC="pdftotext \x22"$0"\x22 /dev/stdout | grep -H --label=\x22"$0"\x22 -- \x22"SEARCH_STRING"\x22";
while(EXEC|getline ret){
print "For fichier ["$0"] we have match ["ret"]";
faites ce que vous souhaitez.
};
close(EXEC);
}'
</code></pre>