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

Résolu
tibofx Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
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 !
A voir également:

4 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
tibofx
 
Ah merci beaucoup ! C'était bien ça le souci !
0
olivier
 
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
parce que le cat fichier | while read line est fait par le awk
0