IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Script shell et transformation sur les chaines de caractère


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 30
    Points : 21
    Points
    21
    Par défaut Script shell et transformation sur les chaines de caractère
    Bonjour

    Je dois pondre un petit script shell qui doit parcourir un fichier.

    Chaque ligne doit être décomposée et les informations extraites doivent permettent de lancer une commande.
    Voici un apercu du contenu d'une ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fichier_sortie.txt fichier_entree.txt "parametre1" "parametre2" "parametre3" "parametreN"
    À noter, il peut y avoir n parametres...

    Le script doit decomposer cette ligne afin de lancer la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomduprogramme --input fichier_entree.txt --parameter "parametre1" --parameter "parametre2" --parameter "parametreN"
    Je connais pas trop les expressions regulieres de shell et j'arrive pas a decomposer ma ligne (le caractere de séparation est l'espace).
    Je sais qu'en php, je fais un explode, et c'est réglé, mais j'ai du mal à faire cela en shell.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    while true
    do
    #----- Fichier contenant les commandes
            myFile="/home/bigcortex/Desktop/tests/commandes.txt"
     
    #----- Variable qui contient les lignes de chaque fichier
            myLine=""
    #----- Parcours des lignes du fichier
            while [ 1 ]
            do
                    read myLine || break
                    echo "$myLine"
     
     
            done < $myFile 
    	sleep 1
    done

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Ne fonctionne que si "parameterN" ne contient pas d'espace(s)

    http://marcg.developpez.com/ksh/#L4.1
    7.6. Les paramètres du shell


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    while read ligne ; do
    	set $ligne
    	echo -n "nomduprogramme --input $2  --output $1 "
    	shift
    	shift
    	while [[ $# > 0 ]] ; do
    		echo -n " --parameter $1"
    		shift
    	done
    	echo ""
    done < $myFile
    Loi de Murphy:
    La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
    La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
    Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    merci.
    C'est une bonne approche à suivre.
    J'étais parti sur la piste awk et cut mais apparemment c'est du bazooka comparé à ce que je veux faire.

Discussions similaires

  1. Pb avec les fonctions sur les chaines de caractères.
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/04/2008, 19h09
  2. question sur les chaine de caractères
    Par amy0o0 dans le forum C
    Réponses: 11
    Dernier message: 14/10/2006, 14h14
  3. [CR 10] Traitement sur les chaines de caractères
    Par sylviefrfr dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 11/09/2006, 09h16
  4. question sur les chaines de caractères
    Par pierrOPSG dans le forum C
    Réponses: 5
    Dernier message: 13/04/2006, 18h55
  5. xsl : test sur les chaine de caractère
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 13/07/2005, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo