J'ai une partie d'un script bash qui obtient un nom de fichier sans extension, mais j'essaie de comprendre ce qui se passe vraiment ici. A quoi servent les "%%"? Quelqu'un peut-il élaborer sur ce que bash fait dans les coulisses? Comment cette technique peut-elle être utilisée de manière générale?Utilise cette technique d'extraction de nom de fichier bash?
#!/bin/bash
for src in *.tif
do
txt=${src%%.*}
tesseract ${src} ${txt}
done
Notez que %% supprimera tous les '.' dans le nom de fichier, pas seulement la soi-disant extension. Par exemple si vous aviez hello.world.tif et hello.death.tif, les deux auraient tesseract les envoyer à la même destination, bonjour. Si vous voulez supprimer seulement une extension, utilisez%. – johnny
Parce que dans le cas de plusieurs "." S dans le nom de fichier que vous souhaitez rechercher et dépouiller le "motif le plus court correspondant" du côté droit de la chaîne. Cela a du sens pour moi. Donc, dans le cas de mon script ci-dessus, je devrais le changer en "%". Ceci est censé dépouiller les extensions de nom de fichier. – jjclarkson