Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[bash] Aide pour script (Resolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
geforce
l33t
l33t


Joined: 29 Dec 2003
Posts: 653
Location: Canada

PostPosted: Thu Apr 14, 2005 6:19 pm    Post subject: [bash] Aide pour script (Resolu) Reply with quote

BOnjour...

Je suis en train de faire un script en BASH.


Le but du script est d'Effacer des mp3 dans un dossier donne.


Pour l'instant ca donnerait ' ls -R DOSSIER | grep mp3 '

Mais le probleme c'est que je veux effacer directement TOUS les Mp3 qu'il trouve.. Question de liberer de la place sur le serveur.


SI quelqu'un était capable de M'aider


EDIT: Bon..Je précise un peu... J'ai un dossier des utilisateurs sur /export/home/Sec1, Sec2 , etc Jusqua 5.. Ce sont les dossier des éleves classés par niveaux. je veux un script qui efface TOUS les MP3 qu'ils ont dans leurs dossiers
_________________
User #29433


Last edited by geforce on Thu Apr 14, 2005 8:18 pm; edited 4 times in total
Back to top
View user's profile Send private message
Starch
Guru
Guru


Joined: 26 Feb 2003
Posts: 539
Location: Rennes, France

PostPosted: Thu Apr 14, 2005 6:21 pm    Post subject: Reply with quote

Code:

find . -name "*.mp3" -exec rm {} \;

_________________
- Vous aurez beau dire... Y'a pas qu'd'la pomme... Y'aurait pas aussi d'la betterave ?
- Si, y'en a aussi
Back to top
View user's profile Send private message
geforce
l33t
l33t


Joined: 29 Dec 2003
Posts: 653
Location: Canada

PostPosted: Thu Apr 14, 2005 6:22 pm    Post subject: Reply with quote

OMg la reponse rapide en 30 secondes :P:P


J'essaye et je te rivnes avec ca .. Merci !
_________________
User #29433
Back to top
View user's profile Send private message
geforce
l33t
l33t


Joined: 29 Dec 2003
Posts: 653
Location: Canada

PostPosted: Thu Apr 14, 2005 6:26 pm    Post subject: Reply with quote

Yeahh !!! Merci !!!
_________________
User #29433
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Thu Apr 14, 2005 6:32 pm    Post subject: Reply with quote

Un petit (resolu) dans le titre alors, et tu nous mets [bash] au lieu de (bash) et on t'aimera toute notre vie.
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
geforce
l33t
l33t


Joined: 29 Dec 2003
Posts: 653
Location: Canada

PostPosted: Thu Apr 14, 2005 7:11 pm    Post subject: Reply with quote

Bon je sentais le besoin de vous compliquer la vie :lol:

Nah c'est pas vrai c,est juste que j'ai encore besoin d'aide avec mon script.


Code:

#! /bin/bash

POSPAR1=${dossier}
POSPAR2=${extensions}

for extension in ${extensions}; do
            find ${dossier} -name $extension -exec rm {} \;
        done



COmme vous pouvez le constater... J"ESSAYE de trouve comment faire pour specifier plusieurs extensions avec 1 commande.. J"essaye comme ca mais J'ai encore besoin de votre aide ... Genre pour utiliser les variables que je suis pas sur pantoute et aussi pour le loop le l'espece "d"array" que je dois faire pour mes extensions.
_________________
User #29433


Last edited by geforce on Thu Apr 14, 2005 7:15 pm; edited 2 times in total
Back to top
View user's profile Send private message
LostControl
l33t
l33t


Joined: 02 Mar 2004
Posts: 885
Location: La Glane, Suisse

PostPosted: Thu Apr 14, 2005 7:14 pm    Post subject: Reply with quote

geforce wrote:
Bon je sentais le besoin de vous compliquer la vie :lol:

Nah c'est pas vrai c,est juste que j'ai encore besoin d'aide avec mon script.


Code:

#! /bin/bash

POSPAR1=${dossier}
POSPAR2=${extensions}

for $extension in $extensions; do
            find ${dossier} -name ${extension} -exec rm {} \;
        done



COmme vous pouvez le constater... J"ESSAYE de trouve comment faire pour specifier plusieurs extensions avec 1 commande.. J"essaye comme ca mais J'ai encore besoin de votre aide ... Genre pour utiliser les variables que je suis pas sur pantoute et aussi pour le loop le l'espece "d"array" que je dois faire pour mes extensions.

Vire déjà le '$' de "for $extension in"
_________________
http://www.jaqpot.net
http://www.fail2ban.org
Back to top
View user's profile Send private message
geforce
l33t
l33t


Joined: 29 Dec 2003
Posts: 653
Location: Canada

PostPosted: Thu Apr 14, 2005 7:15 pm    Post subject: Reply with quote

Code:
#! /bin/bash

POSPAR1=${dossier}
POSPAR2=${extensions}

for extension in ${extensions}; do
            find ${dossier} -name $extension -exec rm {} \;
        done


?? Comme ca ?. Et pour l'array je fais quoi ? Je dois utiliser quel genre de separateurs.. En fait... Comment je m'y prends ?
_________________
User #29433
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Thu Apr 14, 2005 7:23 pm    Post subject: Reply with quote

geforce wrote:
Code:
#! /bin/bash

POSPAR1=${dossier}
POSPAR2=${extensions}

for extension in ${extensions}; do
            find ${dossier} -name $extension -exec rm {} \;
        done


?? Comme ca ?. Et pour l'array je fais quoi ? Je dois utiliser quel genre de separateurs.. En fait... Comment je m'y prends ?

c'est quoi POSPAR1 et POSPAR2?
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Thu Apr 14, 2005 7:25 pm    Post subject: Reply with quote

sireyessire wrote:
geforce wrote:
Code:
#! /bin/bash

POSPAR1=${dossier}
POSPAR2=${extensions}

for extension in ${extensions}; do
            find ${dossier} -name $extension -exec rm {} \;
        done


?? Comme ca ?. Et pour l'array je fais quoi ? Je dois utiliser quel genre de separateurs.. En fait... Comment je m'y prends ?

c'est quoi POSPAR1 et POSPAR2?


en fait il doit vouloir utiliser $1 et $2
_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Thu Apr 14, 2005 7:28 pm    Post subject: Reply with quote

kernel_sensei wrote:
sireyessire wrote:
geforce wrote:
Code:
#! /bin/bash

POSPAR1=${dossier}
POSPAR2=${extensions}

for extension in ${extensions}; do
            find ${dossier} -name $extension -exec rm {} \;
        done


?? Comme ca ?. Et pour l'array je fais quoi ? Je dois utiliser quel genre de separateurs.. En fait... Comment je m'y prends ?

c'est quoi POSPAR1 et POSPAR2?


en fait il doit vouloir utiliser $1 et $2


bon ben alors ça doit être bon ça
Code:
#! /bin/bash

dossier=$1;
extensions=$2;

for i in ${extensions}; do
            find ${dossier} -name $i -exec rm {} \;
        done

[edit] en fait il faut un while au début qui récup toutes les extensions demandées, ou alors il y a un moyen de lui faire gober la liste en argument;
exemple: prgm /usr mp3 avi ogg
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
Piaf
Tux's lil' helper
Tux's lil' helper


Joined: 03 Aug 2003
Posts: 76
Location: Sophia Antipolis

PostPosted: Thu Apr 14, 2005 7:45 pm    Post subject: Reply with quote

sireyessire wrote:
ou alors il y a un moyen de lui faire gober la liste en argument;
exemple: prgm /usr mp3 avi ogg


prgm /usr "*.mp3 *.abi *.ogg"
_________________
Est-ce que c'est toi John Wayne, ou est-ce que c'est moi...
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Thu Apr 14, 2005 7:51 pm    Post subject: Reply with quote

Piaf wrote:
sireyessire wrote:
ou alors il y a un moyen de lui faire gober la liste en argument;
exemple: prgm /usr mp3 avi ogg


prgm /usr "*.mp3 *.abi *.ogg"

non ça pour lui avec le for c'est qu'un élément.
Code:
$for i in "mp3 avi ogg"; do       
> echo $i;
> done
mp3 avi ogg

mais avec des simple quotes c'est bon

donc utilisation:
prgm /usr '*.mp3 *.avi'
et le script:
Code:
#! /bin/bash

dossier=$1;
extensions=$2;

for i in ${extensions}; do
            find ${dossier} -name $i -exec rm {} \;
done

_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley


Last edited by sireyessire on Thu Apr 14, 2005 7:57 pm; edited 3 times in total
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Thu Apr 14, 2005 7:53 pm    Post subject: Reply with quote

dans ce cas dossier=$1 un ptit shift et extentions=$* non?

[edit] suis en retard...[/edit]
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Thu Apr 14, 2005 7:56 pm    Post subject: Reply with quote

kwenspc wrote:
dans ce cas dossier=$1 un ptit shift et extentions=$* non?

[edit] suis en retard...[/edit]

ouais c'est pas bête mais comment on exclut le $1?
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
geforce
l33t
l33t


Joined: 29 Dec 2003
Posts: 653
Location: Canada

PostPosted: Thu Apr 14, 2005 8:05 pm    Post subject: Reply with quote

Ben normalement s'il les fait en ordre il va prendre le premier pour $1 pis le $* pour le reste ?
_________________
User #29433
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Thu Apr 14, 2005 8:05 pm    Post subject: Reply with quote

shift fait qu'on envois le $1 à la benne
Back to top
View user's profile Send private message
geforce
l33t
l33t


Joined: 29 Dec 2003
Posts: 653
Location: Canada

PostPosted: Thu Apr 14, 2005 8:17 pm    Post subject: Reply with quote

YEah le code fonctionne... J'vous donne le code source qui fonctionne des que j'arrive chez moi!





Phil
_________________
User #29433
Back to top
View user's profile Send private message
Piaf
Tux's lil' helper
Tux's lil' helper


Joined: 03 Aug 2003
Posts: 76
Location: Sophia Antipolis

PostPosted: Thu Apr 14, 2005 8:17 pm    Post subject: Reply with quote

@kwenspc +1 pour ta solution, c'est simple et élégant
_________________
Est-ce que c'est toi John Wayne, ou est-ce que c'est moi...
Back to top
View user's profile Send private message
geforce
l33t
l33t


Joined: 29 Dec 2003
Posts: 653
Location: Canada

PostPosted: Thu Apr 14, 2005 9:32 pm    Post subject: Reply with quote

Voici ma version qui mache:

Code:

#! /bin/bash

# Ecrit par GeForce, 2005

POSPAR1=${dossier}
POSPAR2=${extensions}

for extension in $extensions; do
            find ${dossier} -name $extension -exec rm {} \;
        done


Et je le lance avec : ./programme.sh /home/ "*.mp3 *.exe *.asx" etc etc.

Ca marche nickel.

Merci!
_________________
User #29433
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum