[Shell] Extraire caractère fichier dans table

Bonjour je souhaite insérer dans un tableau un fichier .txt ,mais caractère par caractère.
Tout cela en bourne shell.
J'avai essayé ça mais sa ne marche pas :
for ligne in $(cat 'fichier.txt')
do
j=0
for i in 0 1 2 3 4 5 6 7 8 9
do
c=${$ligne:$i:1}
tab[$j]=$c
j=$(($j+1))
i=$(($i+1))
done
done

2 réponses

  1. Modérateur
    Le tableau a la taille = le nombre de caractères, que tu peux l'obtenir avec la commande
    cat fichier | wc -c
    donc pour remplir le tableau tu peux utiliser
    for i in seq $(cat fichier | wc -c)
    --
    lami20j

    P.S. T'es obligé de faire ça en shell?
    C'est quoi l'objectif?
    0
    1. Modérateur
      Salut,
      #! /bin/bash
      
      count=0
      
      for mot in $(cat fich.txt)
      do
      for lettre in $(echo $mot | sed -e 's/[\.,]//g' -e 's/./& /g')
      do
      tab[$count]="$lettre"
      count=$(expr $count + 1)
      done
      done
      La première expression de "sed" ('s/[\.,]//g') c'est pour enlever les signes de ponctuation (le point et la virgule).

      ;-))
      0
      1. Modérateur
        Salut,

        pour s'amuser un peu :-)
        #!/bin/bash
        perl -e '@tab=split//,`cat fich.txt`;grep{s/[,.]//}@tab';print"@tab"
        --
        lami20j

        P.S. Voilà maintenant c'est du shell :-DD et pas du perl
        0