Problème de réalisation d'un petit script
speed
-
speed -
speed -
Bonjour,
petit problème voila je dois faire un petit script en shell afin de supprimer un type de fichier tout en affichant le nombre de ligne comment faire j'ai commençé mais je suis bloqué
#!/bin/ksh
cd /var/spool/client #repertoire ou je me positionne
find . -mtime +60 |wc -l #je recherche dans le repertoire postionné tous les fichiers de plus de 60 jours pour afficher leur ligne
question comment faire un enchainement de commande par exemple aprés recupération du nombre de lignes j'aimerais faireun rm de ses fichiers trouvé ça ne marche pas ça find . -mtime +60 |wc -l |rm -f
puis enchainé avec un echo disant après l'operation 'process réalisé on a effacé tant numéro de ligne
petit problème voila je dois faire un petit script en shell afin de supprimer un type de fichier tout en affichant le nombre de ligne comment faire j'ai commençé mais je suis bloqué
#!/bin/ksh
cd /var/spool/client #repertoire ou je me positionne
find . -mtime +60 |wc -l #je recherche dans le repertoire postionné tous les fichiers de plus de 60 jours pour afficher leur ligne
question comment faire un enchainement de commande par exemple aprés recupération du nombre de lignes j'aimerais faireun rm de ses fichiers trouvé ça ne marche pas ça find . -mtime +60 |wc -l |rm -f
puis enchainé avec un echo disant après l'operation 'process réalisé on a effacé tant numéro de ligne
A voir également:
- Problème de réalisation d'un petit script
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Petit 2 ✓ - Forum Bureautique
- Ghost script - Télécharger - Polices de caractères
- Trier du plus petit au plus grand excel - Guide
8 réponses
Salut,
je te conseil de teste la commande sur un répertoire bidon
var=$(find /var/spool/client -mtime -60 -exec rm -vf {} \; | wc -l) && echo "Suppression effectuée! $var fichiers supprimés"Attention avec l'option -f
je te conseil de teste la commande sur un répertoire bidon
var=$(find /var/spool/client -mtime -60 -exec rm -vf {} \; | wc -l) && echo "Suppression effectuée! $var fichiers supprimés"
merci pour ta proposition c'est cool lami20j
j'aimerais savoir comment rediriger var=$(find /var/spool/client -mtime -60 -exec rm -vf {} \; | wc -l) dans un fichier pour garder une trace des lignes affichées avant de faire mon echo
merci pour ta proposition c'est cool lami20j
j'aimerais savoir comment rediriger var=$(find /var/spool/client -mtime -60 -exec rm -vf {} \; | wc -l) dans un fichier pour garder une trace des lignes affichées avant de faire mon echo
Déjà merci beaucoup à lami20j et jipicy, mon problème n'est pas encore vraiment résolu mais on avance merci.
juste une question à qui peut me dépatouiller dans ce probleme donc d'après la ligne :
var=$(find /var/spool/client -mtime -60 -exec rm -vf {} \; | tee fichier | wc -l)
je cherche dans le chemin : (find /var/spool/client ) les fichiers de -60 jours j'excute un rm ... jusqu'a là ok
Mais comment faire pour enchainer l'affichage des lignes après rm pour rediriger le nombre de fichier effacer dans un fichier puis l'afficher en meme temps par
un echo en disant que l'opération c'est bien faite et affichant le nombre de ligne qui s'est executé ( && echo "Suppression effectuée! $var fichiers supprimés"
en parallèle je dois génére un fichier qui rentre les erreurs style (2>> erreurs)
gros bisous à la personne qui peut me proposer une solution merci à tous et vive comment ça marche c'est génial ce site
juste une question à qui peut me dépatouiller dans ce probleme donc d'après la ligne :
var=$(find /var/spool/client -mtime -60 -exec rm -vf {} \; | tee fichier | wc -l)
je cherche dans le chemin : (find /var/spool/client ) les fichiers de -60 jours j'excute un rm ... jusqu'a là ok
Mais comment faire pour enchainer l'affichage des lignes après rm pour rediriger le nombre de fichier effacer dans un fichier puis l'afficher en meme temps par
un echo en disant que l'opération c'est bien faite et affichant le nombre de ligne qui s'est executé ( && echo "Suppression effectuée! $var fichiers supprimés"
en parallèle je dois génére un fichier qui rentre les erreurs style (2>> erreurs)
gros bisous à la personne qui peut me proposer une solution merci à tous et vive comment ça marche c'est génial ce site
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est une seule ligne.
Les fichiers sont enregistrer dans le répertoire parent, à toi de modifier leur chemin.
fic.supp contient les fichiers supprimer
fic.error.supp contient les ereurs
Les fichiers sont enregistrer dans le répertoire parent, à toi de modifier leur chemin.
fic.supp contient les fichiers supprimer
fic.error.supp contient les ereurs
var=$(find . -mtime -60 -exec rm -vf {} \; 2>> ../fic.error.supp | tee -a ../fic.supp | wc -l) && echo "Suppression effectuée. $var fichiers supprimés"
merci encore une nouvelle fois lami20j juste une question le ( tee -a ../fic.supp) ça va rentrer tous mes fichiers supprimés moi je veux juste rentrer dans le fichier le nombre de ligne ( wc -l) avec la date par exemple pour garder une trace (pas besoin de sauver tous mes fichier effacés).
dois je faire plutot : | wc -l | tee -a ../fic.supp) && etc... (parce que je veux afficher quand meme en parallèle le nombre de ligne de fichiers supprimés)
or si je fais ( | wc -l | tee -a ../fic.supp) le echo n'affichera plus wc -l comme ça sera redirigé dans un fichier.
comment faire alors ?
dois je faire plutot : | wc -l | tee -a ../fic.supp) && etc... (parce que je veux afficher quand meme en parallèle le nombre de ligne de fichiers supprimés)
or si je fais ( | wc -l | tee -a ../fic.supp) le echo n'affichera plus wc -l comme ça sera redirigé dans un fichier.
comment faire alors ?
var=$(find . -mtime +60 -exec rm -vf {} \; 2>> ../fic.error.supp | wc -l) && echo "$var - $(date +'%d/%m/%Y')" >> ../fic.supp && echo "Suppression effectuée. $var fichiers supprimés"
Bonjour,
merci pour ton aide ça m'aide vachement Mr lami20j
en faite là ta ligne est pas mal du tout sauf ça ne marche pas la redirection dans le fichier :
(echo "$var - $(date +'%d/%m/%Y')" >> ../fic.supp) je ne sais pas pourquoi (je ne suis pas obligé de mettre le chemin en entier du fichier si je suis déjà postionné dans le répertoire)
une autre question le programme doit évoluer un peu je dois mettre des codes retours a chaque test des fonctions pour voir si tout se passe bien du style j'ai une petite idée mais je ne sais pas comment m'y prendre.
voici un exemple à quoi j'aimerais que ça ressemble :
var=$(find . -mtime +60 -exec rm -vf {} \; 2>> ../fic.error.supp | wc -l)
coderetour=$?
if [ $ {coderetour} = "0" ]
then
echo " suppression $var le $(date +'%d/%m/%Y')" ok\n" >> /fic.supp
else
echo "\n erreur sur la suppression des fichiers >> fic.error.supp
fi
je suis perdu là comment imbriqué pour que ça marche , en plus mes fichiers rien ne se redirige dedans dois je les faire en variable
$ {fic.supp} et ${fic.error.supp}
car on veut une sorte de fichier log pour les erreurs et un fichier trace ou on enregistre la date et le nombre de fichier supprimé.
merci de votre aide.
merci pour ton aide ça m'aide vachement Mr lami20j
en faite là ta ligne est pas mal du tout sauf ça ne marche pas la redirection dans le fichier :
(echo "$var - $(date +'%d/%m/%Y')" >> ../fic.supp) je ne sais pas pourquoi (je ne suis pas obligé de mettre le chemin en entier du fichier si je suis déjà postionné dans le répertoire)
une autre question le programme doit évoluer un peu je dois mettre des codes retours a chaque test des fonctions pour voir si tout se passe bien du style j'ai une petite idée mais je ne sais pas comment m'y prendre.
voici un exemple à quoi j'aimerais que ça ressemble :
var=$(find . -mtime +60 -exec rm -vf {} \; 2>> ../fic.error.supp | wc -l)
coderetour=$?
if [ $ {coderetour} = "0" ]
then
echo " suppression $var le $(date +'%d/%m/%Y')" ok\n" >> /fic.supp
else
echo "\n erreur sur la suppression des fichiers >> fic.error.supp
fi
je suis perdu là comment imbriqué pour que ça marche , en plus mes fichiers rien ne se redirige dedans dois je les faire en variable
$ {fic.supp} et ${fic.error.supp}
car on veut une sorte de fichier log pour les erreurs et un fichier trace ou on enregistre la date et le nombre de fichier supprimé.
merci de votre aide.