[shell]Lecture fichier caractère par caractèr

Résolu
Bonjour,
J'ai l'impression de poser une question qui a déjà du etre posée plein de fois, mais je ne trouve pas de solution sur les différents forums...
Voilà le problème :
A l'aide de awk, je cherche a lire un fichier ligne par ligne, et tester chaque caractère de cette ligne. Pour cela, en déclarant une variable r=1,
Voici le début du script :
while read line; do
r=1
tmp=$(echo $line | awk '{print substr($0,$r,1)}')
while test[ $tmp != "\n" ]; do ...
...
et j'incrémente plus tard r++...

mais il semble que la variable r ne soit pas attribuée, donc pas de $tmp,etc..

Quelqu'un aurait-il une idée pour ce problème qui m'a l'air tout débile ??
Merci !
Configuration: Linux
Firefox 2.0.0.11

4 réponses

  1. Contributeur
    hello
    et comme ça : tmp=$(echo $line | awk '{print substr($0,r,1)}' r=$r)
    ou
    tmp=$(echo $line | awk '{print substr($0,'"$r"',1)}'


    ' guillemet $r guillemet '
    1
    1. Ah merci beaucoup ! C'était bien ça le souci !
      0
      1. c'est pas plus simple de faire un truc du genre ? :

        cat fichier | while read line
        do

        # code pour tester les caractères (avec awk je pense) sur la variable $line

        done
        0
        1. Contributeur
          parce que le cat fichier | while read line est fait par le awk
          0