Script shell de suppression d'image la plus ancienne

Le
kenza18
Bonjour,

Je suis confrontée à un problème au niveau de la programmation en Shell.
Etant donné que je suis novice dans le domaine, je pose la question à des experts afin de savoir comment je peux résoudre le problème.
En effet, voici ma question ou plutot mon problème:
1- Developper un script en shell qui me permettra de supprimer la plus ancienne image présente (genre un buffer circulaire)

JE vous remercie d'avance et reste à votre disposition.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Benoit Izac
Le #22447721
Bonjour,

le 05/08/2010 à 10:51, kenza a écrit dans le message

Je suis confrontée à un problème au niveau de la programmation en Shell.
Etant donné que je suis novice dans le domaine, je pose la question à des
experts afin de savoir comment je peux résoudre le problème.
En effet, voici ma question ou plutot mon problème:
1- Developper un script en shell qui me permettra de supprimer la plus
ancienne image présente (genre un buffer circulaire)



[ Tu es au mauvais endroit, je redirige sur
Si tu es dans un répertoire où il n'y a que les images :
rm -- $(ls -rt | head -n1)

Sinon si ton image a l'extension .jpg :
rm -- $(ls -rt *.jpg | head -n1)

--
Benoit Izac
Cyrille Lefevre
Le #22448581
Le 05/08/2010 23:22, Benoit Izac a écrit :
Bonjour,

le 05/08/2010 à 10:51, kenza a écrit dans le message

Je suis confrontée à un problème au niveau de la programmation e n Shell.
Etant donné que je suis novice dans le domaine, je pose la question à des
experts afin de savoir comment je peux résoudre le problème.
En effet, voici ma question ou plutot mon problème:
1- Developper un script en shell qui me permettra de supprimer la plus
ancienne image présente (genre un buffer circulaire)



[ Tu es au mauvais endroit, je redirige sur
Si tu es dans un répertoire où il n'y a que les images :
rm -- $(ls -rt | head -n1)

Sinon si ton image a l'extension .jpg :
rm -- $(ls -rt *.jpg | head -n1)




Bonjour,

je dirais plutôt :

[[ -f top ]] || touch top
touch top2
find . ! -newer top | xargs rm
mv top2 top

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Benoit Izac
Le #22448841
Bonjour,

le 06/08/2010 à 12:54, Cyrille Lefevre a écrit dans le message

1- Developper un script en shell qui me permettra de supprimer
la plus ancienne image présente (genre un buffer circulaire)



Si tu es dans un répertoire où il n'y a que les images :
rm -- $(ls -rt | head -n1)

Sinon si ton image a l'extension .jpg :
rm -- $(ls -rt *.jpg | head -n1)



je dirais plutôt :

[[ -f top ]] || touch top
touch top2
find . ! -newer top | xargs rm
mv top2 top



Heu... Là tu va supprimer tout ce qui est plus ancien que top, soit rien
la première fois (sauf si il y a déjà un fichier qui se nomme « top »)
puis tout ce qui n'avait pas été supprimé lors de la précédente
exécution du script (sauf si entre-temps quelqu'un à eu la bonne idée de
toucher à « top »). C'est l'effet voulu (car ce n'est pas comme ça que
j'ai compris la question) ?

Ensuite, pourquoi utiliser xargs plutôt que « -exec rm -- {} + » ?

--
Benoit Izac
Cyrille Lefevre
Le #22450191
Le 06/08/2010 14:57, Benoit Izac a écrit :
Bonjour,

le 06/08/2010 à 12:54, Cyrille Lefevre a écrit dans le message

1- Developper un script en shell qui me permettra de supprimer
la plus ancienne image présente (genre un buffer circulaire)



Si tu es dans un répertoire où il n'y a que les images :
rm -- $(ls -rt | head -n1)

Sinon si ton image a l'extension .jpg :
rm -- $(ls -rt *.jpg | head -n1)



je dirais plutôt :

[[ -f top ]] || touch top
touch top2
find . ! -newer top | xargs rm
mv top2 top



Heu... Là tu va supprimer tout ce qui est plus ancien que top, soit r ien
la première fois (sauf si il y a déjà un fichier qui se nomme « top »)


c'est voulu
puis tout ce qui n'avait pas été supprimé lors de la précéden te
exécution du script (sauf si entre-temps quelqu'un à eu la bonne id ée de


c'est voulu aussi
toucher à « top »). C'est l'effet voulu (car ce n'est pas comme ç a que
j'ai compris la question) ?



effectivement, j'ai lu "les" plutôt que "la" plus ancienne ...

Ensuite, pourquoi utiliser xargs plutôt que « -exec rm -- {} + » ?



la force de l'habitude surement, toutefois, xargs est plus portable que
-exec ... + (pas besoin d' le +, soit dit en passant).

essaye en RHEL 3 par ex. :-)

encore que pour bien faire, il faut ajouter -r à la version gnu d'xargs ,
quelle daube !

c'est comme le tail +1 qu'ils ont cassé récemment, alors que rien
n'empêche des rester compatible avec l'ancienne norme sans voir à
spécifier _POSIX2_VERSION 0112, etc. en clair, POLA ou BLODA, au ch oix...

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Publicité
Poster une réponse
Anonyme