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 :

Probleme Substitution - Commande Sd (bash)


Sujet :

Linux

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur d'études Télécoms
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur d'études Télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Points : 12
    Points
    12
    Par défaut Probleme Substitution - Commande Sd (bash)
    Bonjour,

    J'ai un petit soucis ou gros soucis (ça dépend pour qui? :euh: ).
    En fait, j'ai un tableau que je crée ListeBsc qui contient des noms.
    Avec ces noms je crée des répertoires (voir code plus bas).

    Autrement j'ai un fichier DefaultStructure qui contient des mots clés dont un qui m'interesse particulièrement c'est à dire #nameToReplace#

    Avec ce fichier, je crée une copie que j'appelle Default et dans lequel je veux remplacer tous les mots clés #nameToReplace# par le noms contenus dans ListeBsc.

    Dans cet exemple on a deux éléments Diourbel6bis et StLouis4.

    Par exemple à la première étape de la boucle je veux changer:

    bidule.........#nameToReplace#............finbidule (contenu de Default)
    en
    bidule.........Diourbel6bis............finbidule (contenu modifié de Default)


    Alors que dans mon cas quand j'execute mon code et que j'ouvre mon fichier Default j'ai:

    bidule.........${ListeBsc[$index]}............finbidule


    Aidez moi svp.

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #!/bin/sh
     
     
    #Tableau
    ListeBsc=(Diourbel6bis StLouis4)
     
    #Recuperation de la taille de ListeBsc
    nbBsc=${#ListeBsc[*]}
     
    index=0
     
     
    while [ "$index" -lt "$nbBsc" ] 
     
    do    #Création des Repertoire pour chaque BSC
     
     
         sudo mkdir ${ListeBsc[$index]}
        sudo cp DefaultStructure Default
            sed 's/#nameToReplace#/${ListeBsc[$index]}/g' Default
        mv Default ${ListeBsc[$index]}/
     
     
     
      let "index = $index + 1"
     
    done

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    Bonjour,

    SH n'a pas de tableaux , BASH oui, et d'autres, mais pas SH

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/bash
    tableau=( item1 item2 )
    while read -r line
    do [[ $line == *"bla"* ]] && line="${line//bla/${items[n++]}}"
       echo "$line"
    done <fichier
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 290
    Points : 426
    Points
    426
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/#nameToReplace#/${ListeBsc[$index]}/g' Default
    Le signe $ n'est pas interprété dans les expressions entre guillemets simples. Vous devriez essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "s/#nameToReplace#/${ListeBsc[$index]}/g" Default

Discussions similaires

  1. [VB6] Probleme avec commande SHELL
    Par Oseval dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/08/2006, 17h13
  2. Problème de commande cat
    Par peppena dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 12/04/2006, 12h42
  3. [Mysql]probleme de commande MySql
    Par stomerfull dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/01/2006, 08h34
  4. probleme la commande OR dans SQL
    Par amelhog dans le forum Langage SQL
    Réponses: 10
    Dernier message: 19/08/2005, 12h22
  5. [langage] Probleme avec commande system et code
    Par Ludo167 dans le forum Langage
    Réponses: 3
    Dernier message: 14/07/2004, 12h01

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