Besoin d'aide débutant bash

math -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je debute en bash et je dois dire que ce n'ai pas tache facile. J'ai vraiment beaucoup de mal. C'est pourquoi je fais besoin de votre aide.
je vous explique mon probleme :
jai un fichier texte comme celui-ci

12 25 18
10 2 1
23 9 24
14 15 3

(forme une sorte de matrice ou les sepateurs de colonnes sont des tabulations et les separateurs de ligne sont des retour chariots)

J'aimerai faire un script qui me permetterai de lire le fichier et de le stocké pour que je puisse assez facillement acceder a mes "différentes cellules"

j'ai essaiyé avec
var=$(cat fichier)
mais le probleme c'est que je n'ai plus les tabulations et les retours chariots,(pour etre plus claire, il est difficile de retrouvé par exemple l'élément de la ligne 2 colonne 3)

Si vous avez des idées je suis ouvert a toutes vos propositions
je vous remercie par avance,
Cordialement Mathieu.

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    utiliser des "
    $ echo $var
    12 25 18 10 2 1 23 9 24 14 15 3
    $ 
    $ echo "$var"
    12 25 18
    10 2 1
    23 9 24
    14 15 3 
    $ 
    
    0
  2. math
     
    Merci pour cette réponse mais ce n'est pas vraiment comme cela que je voulais dire, en faite je vais devoir travailler comme dans un tableur, ou chaque element correspondrai a une cellule , si part exemple dans la ligne1 colone 3 jai la reference pour acceder a la ligne 3 colones 1 je dois pouvoir y acceder facilement
    en faite je veux recuperer chaque valeur en "sachant" ou elle se place (sans utiliser de tableau)
    0
  3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    $ cat plop
    12	25	18
    10	2	1
    23	9	24
    14	15	3
    
    $ awk -F'\t' 'NR==2 { print $3 }' plop      # ligne 2 colonne 3
    1
    
    $ awk -F'\t' 'NR==3 { print $1 }' plop     # ligne 3 colonne 1 
    23
    
    $ 

    ;-))
    0