Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 05/02/2013, à 20:03

D3XT3R

Problème lecture ligne par ligne

Bonsoir,

Pour un certain besoin, je dois lire un fichier ligne par ligne et le traiter comme ça :

while read l
do
ok=$(echo $l |sed -e "s/ \{1,\}/./g")
echo $ok >> final
done < "temp_$1.txt"

Cependant, le fichier "final" ne prend jamais la dernière ligne de mon fichier, et si le fichier a une seule ligne, il ne la prend pas.. j'ai cherché.. en vain.

Merci à vous

Hors ligne

#2 Le 05/02/2013, à 20:16

pingouinux

Re : Problème lecture ligne par ligne

Bonsoir,
Je viens de tester ton script, la dernière ligne du fichier est bien prise en compte.

Remarque : Il est préférable de mettre les variables entre " " après echo

Hors ligne

#3 Le 05/02/2013, à 20:21

D3XT3R

Re : Problème lecture ligne par ligne

Merci grâce à toi, je sais au moins et je viens de tester, le script marche, c'est lors du remplissage en PHP que cela bug, je vais chercher et revient.

Edit : Le fichier en sortie de mon script PHP n'était pas correct, finalement tout marche pour le mieux.
Je passe en résolu, merci

Dernière modification par D3XT3R (Le 05/02/2013, à 20:32)

Hors ligne

#4 Le 05/02/2013, à 20:43

pingouinux

Re : Problème lecture ligne par ligne

Pour info, ton script est équivalent à ceci :

sed -e "s/ \{1,\}/./g" "temp_$1.txt" >final

Dernière modification par pingouinux (Le 05/02/2013, à 21:47)

Hors ligne

#5 Le 05/02/2013, à 21:33

nesthib

Re : Problème lecture ligne par ligne

ou plutôt à ceci :

sed -e "s/ \+/./g" f "temp_$1.txt" >final

(ou >>final si tu veux cumuler à chaque lancement)

@pingouinux : attention {1,} est équivalent à + mais {1,1} est inutile (équivalent à ne rien mettre)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#6 Le 05/02/2013, à 21:46

pingouinux

Re : Problème lecture ligne par ligne

@nesthib  #5 : Tu as raison, j'ai fait par erreur un copier-coller d'un de mes essais. Je corrige.

Hors ligne

Haut de page ↑