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) :
et on voit que ça fonctionne.
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
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 =
Je suis content, ça me retourne bien
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"
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 bidon mimosa
Mais question maintenance, ça va être lourd. Une idée pour tout mettre sur la ligne find ?
Merci et bon dimanche,
Partager