Bien, bien... j'ai quelque peu avancé dans ma quête.
J'explore une arborescence et lis chaque fichier dans la variable f - j'aurais pu choisir autre chose.
Puis, j'affiche le chemin du fichier, ainsi que le résultat de la commande head. Première étape, afin de me prémunir de surprises.
Cela donne (j'aime bien la commande find) :
find -iname '*.jpg' -type f -print0 | while read -r -d '' 'f'
do
printf '%s;%s\n' "$f" "$(head -c 4 "$f")" >> sortie_texte
done
Le comportement avec les noms de fichiers contenant des espaces ou des virgules m'a obligé à protéger le
$f de la commande
head, et j'ai toujours des comportements étranges lorsque les premiers octets sont des zéros ou des caractères exotiques, mais ça commence à prendre tournure.
Seul bémol, j'aurais bien aimé pouvoir tester deux types de fichiers en particulier, mais la commande
find \(-iname '*.jpg' -o -iname '*.tif'\) -type f -print0 ...
m'envoie sur les roses. C'est pourtant pris dans les exemples de la commande
find.