Bash : 2 variables sdepuis un fichier texte

vitcz Messages postés 46 Statut Membre -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

Je rédige un script et je bloc sur une fonction: Voici mon scénario :

J'ai un fichier texte comprenant des valeures séparées par une virgule :
Nom_table1, Type_table1
Nom_table2, Type_table2
Nom_table3, Type_table3...

je dois exécuter une fonction qui pour chaque ligne dois récupérer la première puis la deuxième valeure :
voic mon scipt :

#----------------------------------------------------------------------------------
#!/bin/bash

mon_fichier_texte=/home/liste.txt
table_name=$(egrep -v '^(#|*$|[\s]*\n)' $mon_fichier_texte | awk -F ',' '{print $1}')
table_type=$(egrep -v '^(#|*$|[\s]*\n)' $mon_fichier_texte | awk -F ',' '{print $2}')

egrep -v '^(#|*$|[\s]*\n)' $mon_fichier_texte | while read line; do fonction_spécifique() -o init -l $table_name,shape -f $table_name -t $table_type -a all -u user -p passwd; done

#----------------------------------------------------------------------------------

Actuellement je récupère à chaque passage : toutes les valeures de la colonne.

Gros probleme de logique dans mon algo je pense et mauvaise connaissance de hawk : deux jours a me presser le citron : merci pour votre aide.
Configuration: Windows XP
Firefox 2.0.0.16

1 réponse

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Voilà qui devrait t'aider à moins te prendre la tête :
    [tmpfs]$ var="Nom_table1, Type_table1"
    [tmpfs]$ echo ${var%,*}
    Nom_table1
    [tmpfs]$ echo ${var#*,}
    Type_table1
    [tmpfs]$
    man bash (Remplacement des paramètres)

    ;-))
    0