Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2011, 15h22   #1
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
Par défaut Bash find *[31]01*

bonjour je veut faire une recherche en bash sur le 32 caractère contenant le numéro 01

j'ai fait ceci find *[31]01*

mais cela ne fonctionne pas correctement avez vous une idée ?
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 15h39   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 146
Points : 4 146
bonjour,

Il faut que tu détaille un peu plus !

find n'est pas une commande bash, c'est une commande qui sert à effectuer une recherche (de répertoires, de fichiers...) sur l'arborescence du système de fichiers.
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 15h47   #3
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
j'ai des fichier de ce type testimagelots12_msg02_20100105_0730_00015.png

pour mettre des fonds avec une routine dans une batch qui dit que tous les fichiers avec 07 en position 31 compose les images

Code :
1
2
3
4
for fh07 in `find $destt$c01$o/*[31]07*`
do
    composite -compose Over $H07 $fh07 $fh07
done
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 15h57   #4
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 146
Points : 4 146
on ne fait pas :
Code :
for i in $(command); do...;done
si command sort des lignes avec des espaces, la boucle for se répètera sur chacun des éléments qui constituent la ligne.

si toutes tes images sont dans un seul répertoire:
Code :
1
2
3
4
5
for fh07 in *.png
do if [ "${fh07:31:2}" = "07" ]
   then composite -compose Over "$H07" "$fh07" "$fh07"
   fi
done
mais je ne connais pas bien imageMagick, donc je ne sais pas si le résultat sera ce que tu attends.
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/01/2011, 16h04   #5
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
un grand merci j'essaye de suite
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 16h04   #6
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 146
Points : 4 146
ou alors, quelquechose comme :
Code :
find /path/rep -type f -regex "une_Regex_qui_trouve_07_à_31" -exec composite "$H07" {} {} \;
...
?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 16h50   #7
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
cela ne fonctionne pas on dirait que ta commande intégre le chemins d'accés des répertoires
et me donne pas la lettre correspondante (chiffre)

je teste ta deuxième piste
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 17h15   #8
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 146
Points : 4 146
ah! oui, un petit oubli, désolé :
Code :
1
2
3
4
5
6
for fh07 in *.png
do filename="${fh07##*/}"
   if [ "${filename:31:2}" = "07" ]
   then composite -compose Over "$H07" "$fh07" "$fh07"
   fi
done
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/01/2011, 17h27   #9
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
un grand merci !!!

peut tu m'indiquer un livre ou ditactitiel sur la manière de rédiger des scripts ?

loue tu t'est service ? ou cours ?
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 18h03   #10
Responsable Modération
 
Avatar de ok.Idriss
 
Homme Idriss Neumann
Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)
Inscription : février 2009
Messages : 1 978
Détails du profil
Informations personnelles :
Nom : Homme Idriss Neumann
Âge : 21
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)

Informations forums :
Inscription : février 2009
Messages : 1 978
Points : 5 995
Points : 5 995
Bonsoir.

Citation:
Envoyé par cyberrage01 Voir le message
peut tu m'indiquer un livre ou ditactitiel sur la manière de rédiger des scripts ?
Tout d'abord : l'Advanced Bash-Scripting Guide, c'est le cours le plus complet que je connaisse sur Internet. Il est aussi traduit en Français.

Sinon un cours de Korn Shell compatible avec Bash : http://marcg.developpez.com/ksh/

Cordialement,
Idriss
ok.Idriss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 21h05   #11
Invité régulier
 
Inscription : février 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 34
Points : 7
Points : 7
merci à tous !!!
cyberrage01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h46.


 
 
 
 
Partenaires

Hébergement Web