Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
extraction d'une chaine de caractere (bash)
Envoyé par: tyv

Bonjour,

Je viens d'ecrire un script permettant de parcourir les repertoires d'utilisateurs d'un serveur de fichier afin de verfifier qu'il n'y a pas de fichier mp3, avi ou autres angry smiley) (raison: environnement de travail sauvegardé).
Le script genere un fichier texte avec les chemins vers les fichiers trouvés.
Par contre je n'arrive pas à extraire du fichier texte crée les utilisateurs concernés (afin d'envoyer un mail automatique par la suite).
Exemple de contenu du fichier generé:
./user_test/toto.mp3
./user_test/tat.mp3
./user_test/tat.avi
Je voudrai récuperer automatiquement la chaine entre les deux premiers / (ici user_test) ?-(

Si vous avez une idée...
Merci d'avance!

Poste le Sunday 30 October 2005 15:14:58
Répondre     Citer    
Re: extraction d'une chaine de caractere (bash)
Envoyé par: Jonesy's

Bonjour,

dirname ./user_test/toto.mp3

Et l'inverse, juste le nom du fichier (pour info) :

basename ./user_test/toto.mp3

Sans l'extention :

basename ./user_test/toto.mp3 .mp3

@+

--- Marchons seul, sans faire le mal, sans rien attendre, tel l'éléphant qui traverse la forêt. ---

Poste le Sunday 30 October 2005 16:13:13
Répondre     Citer    
Re: extraction d'une chaine de caractere (bash)
Envoyé par: tyv

Merci, mais c'est pas tout à fait ça (mon exemple n'étais pas vraiment bon)
En fait les utilisateurs ont un repertoire crée automatiquement dans l'arboresence suivant leur nom d'utilisateur. Aussi, il peuvent ensuite crée autant de repertoire qu'ils le veulent.
Dans mon exemple la fonction dirname fonctionne bien. Mais si l'arborescence est plus longue, cela renvoi tout le chemin d'accès:
Exemple:
Si le fichier resultant de la recherche donne: /user_test/mesmp3/toto.mp3 dirname renvoi /user_test/mesmp3
Comment ne garder que la premiere partie de l'arborescence?

Poste le Sunday 30 October 2005 16:41:35
Répondre     Citer    
Re: extraction d'une chaine de caractere (bash)

echo "/user_test/mesmp3/toto.mp3 " | awk -F/ '{ print FS$2FS }'

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Sunday 30 October 2005 16:50:54
Répondre     Citer    
Re: extraction d'une chaine de caractere (bash)
Envoyé par: tyv

Merci, ca marche, mais il reste encore les "/" en début et fin de user_test ?-(

Ps: pas évidente (a premiere vue) la syntaxe de awk!

Poste le Sunday 30 October 2005 17:02:04
Répondre     Citer    
Re: extraction d'une chaine de caractere (bash)

echo "/user_test/mesmp3/toto.mp3 " | awk -F/ '{ print $2 }'

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Sunday 30 October 2005 17:02:40
Répondre     Citer    
Re: extraction d'une chaine de caractere (bash)
Envoyé par: tyv

Nickel, ça marche
Merci :-)

Poste le Sunday 30 October 2005 17:16:35
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
extraction d'une chaine de caractere (bash)
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons