Oltre alle normali modelli (semplice) glob, bash ≥4.0 ha esteso globbing.
È off by default. Per accenderlo, utilizzare: shopt -s extglob
Con extglob
si ha accesso ai modelli di espressioni regolari estesi e ai modelli standard. Inoltre, nella tua situazione particolare, puoi personalizzare ulteriormente il comportamento del tuo glob abilitando uno case insensitive glob, anch'esso spento per impostazione predefinita. Per attivarlo, utilizzare: shopt -s nocaseglob
L'abilitazione di extglob
non altera il funzionamento dei glob standard. Puoi mescolare le due forme. L'unico problema è che devi essere consapevole della speciale sintassi regex estesa. ad esempio, nell'esempio seguente, l'unica parte di esso che è un'espressione regolare estesa, è ?(e)
. Il resto è espansione standard di glob, con l'insensibilità alle maiuscole e minuscole abilitata.
il soggiorno prolungato, regex, glob maiuscole e minuscole per la vostra situazione è:
shopt -s extglob nocaseglob
ls -l *.jp?(e)g
è possibile trovare maggiori informazioni ed esempi a: Bash Extended Globbing.
fonte
2011-10-18 23:03:33
Grazie mille, questo è esattamente quello che stavo cercando :) – Elliot