Traitement de fichier

keurel Messages postés 23 Statut Membre -  
bob031 Messages postés 8228 Statut Membre -
Bonjour,
j'ai pas trouvé l'erreur
#!/bin/bash
fichier="/home/user/mahran"
cat $fichier | while true

do
read ligne
if [ -z $ligne ]

then
break
fi

set -- $ligne
prenom=$1
nom=$2
s1=${prenom:0:2}

echo $s1
done
------------------------------------------
voila l'execution :
script10: line 10: [: baccouch: binary operator expected
ba
A voir également:

1 réponse

bob031 Messages postés 8228 Statut Membre 473
 
bonjour,

si il y a if, il ne faut pas else ?

:-))
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut Bobby,

Pas nécessairement, dans le cas de notre ami keurel, il teste voir si sa variable n'est pas une chaîne vide, donc une seule condition suffit, si vide alors sortir de la boucle "do ... done", dans le cas contraire le "else" se fait tout seul (sinon continuer l'exécution de la boucle "do ... done")

;-))

Salut keurel,

Essaie plutôt comme ça :
#! /bin/bash

fichier="/home/user/mahran" 

while read ligne
do
        set -- "$ligne"
        prenom=$1
        nom=$2
        s1=${prenom:0:2}

        echo $s1
done < "$fichier"
;-))
0
bob031 Messages postés 8228 Statut Membre 473 > jipicy Messages postés 41342 Statut Modérateur
 
salut JiPi,

au temps pour moi ... :-)
0