Pour traiter ligne par ligne le contenu d'un fichier [Fermé]

Signaler
Messages postés
3
Date d'inscription
mercredi 1 janvier 2014
Statut
Membre
Dernière intervention
5 janvier 2014
-
 Utilisateur anonyme -
Bonsoir;

Je veux récupéré chaque ligne d'un fichier avec les comandes tail -n et head -n .
On suppose que mon fichier "tmp.txt" possède 36 lignes mon programme est donc:

i= $36
while test $i -ge $1
do
if test -d $(tail -$i tmp.txt | head -1)
then echo " un repertoire"
else echo " n'importe quoi"
fi
i=$(($i-1))
done

Le probleme est dans "tail -$i" exactement "$i" ca ne veut pas marcher??
comment fair???

3 réponses


salut,

Le probleme est dans "tail -$i" exactement "$i" ca ne veut pas marcher??
le problème, c'est que pour lire un fichier, en fait, on fait ainsi :
while read line; do echo "traitement $line"; done <fichier
Messages postés
3
Date d'inscription
mercredi 1 janvier 2014
Statut
Membre
Dernière intervention
5 janvier 2014

Je connai cet méthode! je n'sais pas pourquoi mais je veux bien utilisé tail -$i! mais merci en tout cas
i= $36
?
$1
?
mets la substitution de commandes entre guillemets : on ne sait jamais, peut-être une ligne contiendra-t-elle plusieurs mots.