Traiter tous les fichiers ayant une extension donnée
Sous Unix, mon besoin est de faire un traitement (disons un ls) sur tous les fichiers donné (disons tous les *.xml) d’un répertoire.
Naturellement, j’écris
for f in*.xml
do
ls « $f »
done
Les guillemets sont obligatoire pour gérer les noms de fichiers contenant des espaces.
Le problème, c’est que je ne gère pas la casse…;
Après avoir perdu du temps en essayant de modifier IFS, la solution toute simple est d’utiliser read:
ls -1 * | grep -i « .xml$ » | while read f
do
ls « $f »
done