[shell script] repertoires numerotés
Fermé
aVr69
Messages postés
2
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
4 août 2008
-
31 juil. 2008 à 23:39
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 5 août 2008 à 10:00
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 5 août 2008 à 10:00
A voir également:
- [shell script] repertoires numerotés
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
5 réponses
linuxnico
Messages postés
204
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
8 octobre 2010
10
1 août 2008 à 07:58
1 août 2008 à 07:58
pourquoi fait tu une recherche de repertoire?
un pauv'
pour i de $depart a $fin fait
rm -rf tonfichier.0$i
finpour
non, ou je me trompe???
un pauv'
pour i de $depart a $fin fait
rm -rf tonfichier.0$i
finpour
non, ou je me trompe???
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
1 août 2008 à 10:06
1 août 2008 à 10:06
hello
et comme ça
-ls pour essayer
et comme ça
find . -depth -type d -name "tirages_0`seq 2 158 | printf '%03d'`" -ls
-ls pour essayer
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
1 août 2008 à 11:10
1 août 2008 à 11:10
plus simple
find . -depth -type d -name "tirages_0`seq -f '%03d' 2 158`" -ls
aVr69
Messages postés
2
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
4 août 2008
4 août 2008 à 23:37
4 août 2008 à 23:37
Bonjour à tous et merci pour votre aide.
J'ai bossé sur ce script cet après-midi.
En fait, j'ai mixer les deux solutions pour avoir le script suivant:
#!/bin/bash
# param1 = repertoire ou supprimer les repertoires tirages
# param2 = indice de debut
# param3 = indice de fin
PATH=.:/usr/bin:${PATH}
for i in $(seq -f '%04.0f' ${2} ${3})
do
find ${1} -depth -type d -name "tirage_$i" -exec rm -rf {} \;
done
Je n'ai pas réussi à faire une seule ligne en incluant la commande "seq" dans le "find" comme dans la solution de dubcek. Il y a certainement plus simple mais celui-ci fonctionne sous cygwin (et je le comprend...).
Pour répondre à linuxnico, je fais la recherche de répertoire car je ne sais pas ou seront les repertoires "tirages_xxxx" à détruire, je connais juste le repertoire destination. De plus, je souhaitais automatiser cette suppression.
Encore merci,
aVr
J'ai bossé sur ce script cet après-midi.
En fait, j'ai mixer les deux solutions pour avoir le script suivant:
#!/bin/bash
# param1 = repertoire ou supprimer les repertoires tirages
# param2 = indice de debut
# param3 = indice de fin
PATH=.:/usr/bin:${PATH}
for i in $(seq -f '%04.0f' ${2} ${3})
do
find ${1} -depth -type d -name "tirage_$i" -exec rm -rf {} \;
done
Je n'ai pas réussi à faire une seule ligne en incluant la commande "seq" dans le "find" comme dans la solution de dubcek. Il y a certainement plus simple mais celui-ci fonctionne sous cygwin (et je le comprend...).
Pour répondre à linuxnico, je fais la recherche de répertoire car je ne sais pas ou seront les repertoires "tirages_xxxx" à détruire, je connais juste le repertoire destination. De plus, je souhaitais automatiser cette suppression.
Encore merci,
aVr
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
5 août 2008 à 10:00
5 août 2008 à 10:00
et comme ça, pour n'exécuter qu'une fois la commande find
LISTE=$(seq -f 'tirage_%04.0f' ${2} ${3}) find ${1} -depth -type d -name "$LISTE" -exec rm -rf {} \;