Ho una parte di uno script bash che sta ottenendo un nome file senza estensione, ma sto cercando di capire cosa sta succedendo davvero qui. A cosa servono i "%%"? Qualcuno può approfondire cosa sta facendo bash dietro le quinte? Come può essere utilizzata questa tecnica su base generale?Usi per questa tecnica di estrazione di nome file bash?
#!/bin/bash
for src in *.tif
do
txt=${src%%.*}
tesseract ${src} ${txt}
done
Prendere nota che %% rimuoverà tutto il "." nel nome del file, non solo la cosiddetta estensione. Ad esempio, se hai avuto hello.world.tif e hello.death.tif, entrambi avrebbero inviato a tesseract la stessa destinazione, ciao. Se si desidera rimuovere solo un'estensione, utilizzare%. – johnny
Perché nel caso di più "." S nel nome del file che si desidera cercare e rimuovere il "modello di corrispondenza più breve" dal lato destro della stringa. Ha senso per me. Quindi nel caso del mio script sopra dovrei cambiarlo in "%". Questo dovrebbe eliminare le estensioni dei nomi dei file. – jjclarkson