Correction shell
Fermé
dino
-
14 déc. 2005 à 10:25
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 - 14 déc. 2005 à 17:54
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 - 14 déc. 2005 à 17:54
A voir également:
- Correction shell
- Classic shell windows 11 - Télécharger - Personnalisation
- Correction orthographe - Guide
- Telecharger clavier français avec correction - Télécharger - Divers Utilitaires
- Mode correction word - Guide
- Classic shell c'est quoi ✓ - Forum Windows 10
1 réponse
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
14 déc. 2005 à 17:54
14 déc. 2005 à 17:54
Salut,
Le shell n'est pas un langage de programmation comme les autres...
Voici comment tu peux evaluer le nombre d'entrées (sans . et ..) dans un dossier
que ces entrées soient des fichiers ou des dossiers.
Pour l'explication de '[ $NB -ge 4 ]' => man test
Si tu veux vraiment compter les fichiers et effacer les 4 plus anciens :
Pour effacer les fichiers remplacer le echo "... $FILES" par rm $FILES
A+, crabs
Le shell n'est pas un langage de programmation comme les autres...
Voici comment tu peux evaluer le nombre d'entrées (sans . et ..) dans un dossier
que ces entrées soient des fichiers ou des dossiers.
#!/bin/sh NB=`ls -1 | wc -l` if [ $NB -ge 4 ] ; then echo "Au moins 4 entrées ($NB)" else echo "Moins de 4 entrées ($NB)" fi
Pour l'explication de '[ $NB -ge 4 ]' => man test
Si tu veux vraiment compter les fichiers et effacer les 4 plus anciens :
#!/bin/sh FILES="" NB=0 for f in `ls -1tr` ; do [ -f $f ] || continue FILES="$FILES $f" NB=`expr $NB + 1` ## peut être remplacer par $((NB++)) en bash if [ $NB -ge 4 ] ; then echo "Plus de 4" echo "Les plus anciens = $FILES" break fi done
Pour effacer les fichiers remplacer le echo "... $FILES" par rm $FILES
A+, crabs