utiliser des tableaux dans un fichier txt avec plusieurs scripts bash

Postez ici vos scripts Bash, Python, etc.
Répondre
xunil2003
Messages : 14
Enregistré le : lun. 25 févr. 2019 00:29
Localisation : Var (83)

utiliser des tableaux dans un fichier txt avec plusieurs scripts bash

Message par xunil2003 »

Bonjour

Je voudrais savoir si il est possible et si oui comment utiliser un tableau dans un fichier txt avec plusieurs scripts bash.

imaginons le fichier : tableaux.txt

Code : Tout sélectionner

tableau0=("nom" "prenom" "tel" "identifiant free" "api sms free")
tableau1=("nom" "prenom" "tel" "identifiant free" "api sms free")
tableau2=("nom" "prenom" "tel" "identifiant free" "api sms free")
tableau3=("nom" "prenom" "tel" "identifiant free" "api sms free")
Comment je doit m'y prendre pour lire le tableau depuis un autres script bash.
Comment déclarer les tableaux

Ceci ne fonctionne pas

Code : Tout sélectionner

TABLEAU=$(head -n 1 $FICHIER_TXT)
declare -a TABLEAU
tableau=( $TABLEAU )
echo "Parcourir les éléments du tableau et les afficher :"
for i in ${!tableau[@]}
do
echo "dans le tableau $i : ${tableau[$i]}"
done
Merci d'avance pour vos avis et conseils.

Avatar du membre
serged
Messages : 907
Enregistré le : jeu. 16 juil. 2015 07:59
Localisation : Montrouge (France)

Re: utiliser des tableaux dans un fichier txt avec plusieurs scripts bash

Message par serged »

Tu peux utiliser des variables tableaux :

Code : Tout sélectionner

t0=tableau0
t1=...
Alors t0[1] vaudra "nom", etc.
Tu peux lire cette discussion dans un forum voisin.
LinuxMint Virginia Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 17Go / SSD 4To /Nvidia GeForce GT610 / LM21.3 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.3 MATE (sur HDD)

xunil2003
Messages : 14
Enregistré le : lun. 25 févr. 2019 00:29
Localisation : Var (83)

Re: utiliser des tableaux dans un fichier txt avec plusieurs scripts bash

Message par xunil2003 »

Bonjour,
Je ne comprend pas ce que vous voulez dire ?
Comment créer une variable automatiquement

Code : Tout sélectionner

declare -a tableau${numero}
eval "mavariable$umero=$(sed -n "$numero p" $FICHIER_TABLEAUX)  <--- Ici je déclare la variable automatiquement qui récupère le contenu du fichier txt pour les 4 lignes
echo "tableau1 - 1: ${tableau1[1]}"
Merci.

Avatar du membre
cyrille
Administrateur du site
Messages : 13066
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: utiliser des tableaux dans un fichier txt avec plusieurs scripts bash

Message par cyrille »

Je ne suis pas sur d'avoir bien compris la problématique mais je te file 2 liens

gestion des tableaux en bash https://debian-facile.org/doc:programma ... s:tableaux

Lire le contenu d'un fichier : plusieurs méthodes comme cat, less... Mais en général on utilise l'IFS ( Internal Field Separator ) cf
https://debian-facile.org/doc:programma ... hier-texte
https://lipn.univ-paris13.fr/~cerin/SE/ ... hell2.html


J'espère avoir répondu à ta question, sinon peux tu préciser où ça coince ;)

Et surtout
Ceci ne fonctionne pas
Pense à mettre l'erreur retournée

Mais bon, avec 2 liens cités (DF), ça devrait le faire, c'est très ben expliqué ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
cyrille
Administrateur du site
Messages : 13066
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: utiliser des tableaux dans un fichier txt avec plusieurs scripts bash

Message par cyrille »

Comment je doit m'y prendre pour lire le tableau depuis un autres script bash.
source

Exemple un fichier avec des var

Code : Tout sélectionner

$ cat autrefichier.sh 
#/bin/bash
maVarExterne="Je viens d'un autre fichier "

Un autre fichier appelant le premier

Code : Tout sélectionner

$ cat aze.sh 
#/bin/bash
source autrefichier.sh
echo $maVarExterne
Execution

Code : Tout sélectionner

$ ./aze.sh 
maVarExterne="Je viens d'un autre fichier "
On a bien récupéré la variable importée du fichier 1

Par contre faire gaffe aux chemins relatifs prefixant le fichier à sourcer, cf https://stackoverflow.com/questions/192 ... er-scripts

Exemple de prefixe possible alors

Code : Tout sélectionner

source $(dirname $(readlink -f $0))/autrefichier.sh
Et aussi toujours tester l'existence de ce fichier afin de gérer l'erreur au cas où il viendrait à manquer ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Répondre