#1 Le 31/12/2018, à 14:46
- mickyshoot
suppression de repertoire et contenu sur chaine caractere = date - 3J
Bonjour
je cherhce à realiser un petit script qui va scnner le repertoir XXX pour retrouver les repertoirs qui s'appelent 201812xx et les supprimer avec leur contenu
j'ai réalisé ca mais le resultat affiche toute sorte de repertoire et fichier
je mets volontairement un ls -lh pour eviter de me tromper sur un rm
test=$(date --date '2 days ago' +"%Y%m%d")
echo "$test"
find /usr/XXX -name $test -exec ls -lh {} \;
Merci pour votre aide
Hors ligne
#2 Le 31/12/2018, à 16:36
- diesel
Re : suppression de repertoire et contenu sur chaine caractere = date - 3J
for i in /usr/XXX/201812??
do rm -R $i
done
Amicalement.
Jean-Marie
Dernière modification par diesel (Le 31/12/2018, à 16:39)
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#3 Le 03/01/2019, à 06:57
- MicP
Re : suppression de repertoire et contenu sur chaine caractere = date - 3J
Bonjour
… test=$(date --date '2 days ago' +"%Y%m%d") …
Ce n'est pas du tout une bonne idée d'utiliser comme nom de variable un nom de commande
Voir :
man test
Hors ligne
#4 Le 03/01/2019, à 07:12
- pingouinux
Re : suppression de repertoire et contenu sur chaine caractere = date - 3J
Bonjour,
j'ai réalisé ca mais le resultat affiche toute sorte de repertoire et fichier
find /usr/XXX -name $test -exec ls -lh {} \;
Cette commande te liste le contenu des répertoires répondant au critère de recherche.
Pour y remédier, tu peux faire ceci :
find /usr/XXX -name "$test" -exec ls -lhd {} \;
ou
find /usr/XXX -name "$test" -ls
Tu peux aussi ajouter -type d puisque tu ne cherches que les répertoires répondant au critère.
Je partage la remarque de MicP #3.
Hors ligne
#5 Le 03/01/2019, à 13:42
- mickyshoot
Re : suppression de repertoire et contenu sur chaine caractere = date - 3J
Bonjour
Merci j'ai trouvé cette solution qui fonctionne
#!/bin/bash
D=$(date --date '2 days ago' +"%Y%m%d")
echo "$D"
for F in /usr/netscreen/DevSvr/var/logs/
do rm -Rf "$F"/"$D"
done
Hors ligne
#6 Le 03/01/2019, à 13:44
- mickyshoot
Re : suppression de repertoire et contenu sur chaine caractere = date - 3J
Enfin, j'ai pu trouver grace à votre aide
Merci beaucoup
Hors ligne