Bonjour,

J'ai besoin d'effectuer un traitement sur des fichiers dans un dossier.

Pour les avoir les uns après les autres, j'utilise find ainsi (trouvé dans les exemples du man) :
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
# find . -type f -iname "*.jpg" -exec echo '{}' \;
./bidon.JPG
./mimosa.jpg
et on voit que ça fonctionne.

Mais j'ai besoin de ne récupérer que le nom du fichier, soit enlever l'extension et son point et les 2 premiers caractères du début ("./"), et là, la seule manière que j'ai trouvée consiste à appeler un script secondaire :
find . -type f -iname "*.jpg" -exec ./suite.sh '{}' \; avec suite.sh =
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
 
# pour test :
#echo $1 du script
# ok, passons à la vraie vie :
 
fic="$1"
# supprimer l'extension :
fic="${fic%.*}"
# supprimer les 2 premiers caractères :
fic="${fic:2}"
 
echo "$fic"
Je suis content, ça me retourne bien

Mais question maintenance, ça va être lourd. Une idée pour tout mettre sur la ligne find ?

Merci et bon dimanche,