Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#1 Le 09/02/2013, à 00:28

wolf85kunst

commande bash dans une boucle

Bonjour à tous,

Voyez-vous mon erreur ?

#!/bin/bash
while read line
do
        echo $line
        search_path="/home/user/./"
        video_format='avi|mpg|mpeg|mkv|mka|mks|asf|wmv|mov|ogg|ogv|oga|ogx|3gp|3g2|webm|nut|flv'
done < <(find $search_path -type f -regextype posix-extended -iregex ".*\.($video_format)$")

Ce script est censé me retouner le listing de mes videos dans le répertoire précisé par la variable "search_path" mais ne me renvoi absolument rien.

Pourtant mes regex sont bonnes (notamment ma commande find), je les ai testé directement dans le terminal.

Merci pour votre aide.


Les raisonnables ont duré, les passionnés ont vécu.
-- 10.04 Lucid Lynx --

Hors ligne

#2 Le 09/02/2013, à 00:43

Watael

Re : commande bash dans une boucle

salut,

les variables devraient être définies une seule fois, en dehors de la boucle.

search_path me semble étrange. pourquoi ce point-slash?


eval, c'est mal.

Hors ligne

#3 Le 09/02/2013, à 00:47

wolf85kunst

Re : commande bash dans une boucle

Merci pour ta réponse.

Le problème est résolu.

En fait :

search_path="/home/user/./"
video_format='avi|mpg|mpeg|mkv|mka|mks|asf|wmv|mov|ogg|ogv|oga|ogx|3gp|3g2|webm|nut|flv'

doivent se trouver en dehors de la boucle. Faute d'inattention !

@Watael: merci pour ta réponse. Le chemin ne pose pas de soucis.

Dernière modification par wolf85kunst (Le 09/02/2013, à 00:47)


Les raisonnables ont duré, les passionnés ont vécu.
-- 10.04 Lucid Lynx --

Hors ligne

#4 Le 09/02/2013, à 00:51

xavier4811

Re : commande bash dans une boucle

B'soir,

Moi, ce qui me parait le plus étrange c'est la boucle while.
sans boucle, find donne le même résultat non ?

Hors ligne

#5 Le 09/02/2013, à 00:53

wolf85kunst

Re : commande bash dans une boucle

@xavier4811 : Tout à fait. J'ai pas mis la totalité de mon code en fait. wink
Bonne soirée.

Dernière modification par wolf85kunst (Le 09/02/2013, à 00:53)


Les raisonnables ont duré, les passionnés ont vécu.
-- 10.04 Lucid Lynx --

Hors ligne

#6 Le 09/02/2013, à 01:06

Watael

Re : commande bash dans une boucle

wolf85kunst a écrit :

Le chemin ne pose pas de soucis.

ce n'est pas parce que ça ne cause pas de soucis, que c'est utile.
en l'occurrence, c'est un pléonasme.


eval, c'est mal.

Hors ligne

#7 Le 09/02/2013, à 01:15

wolf85kunst

Re : commande bash dans une boucle

J'en profite pour vous demander :

Comment capturer des zones avec les parenthèse capturante avec grep ?

Merci beaucoup

Dernière modification par wolf85kunst (Le 09/02/2013, à 01:16)


Les raisonnables ont duré, les passionnés ont vécu.
-- 10.04 Lucid Lynx --

Hors ligne

Haut de page ↑