Contenu | Rechercher | Menus

Annonce

Ubuntu-fr.org recrute toujours de nouveaux modérateurs, avec de l'expérience.

Ubuntu 16.04 LTS
Réservez vos DVD et clé USB Ubuntu-fr (premières livraisons mi-mai)

Si vous avez des soucis pour rester connecté, déconnectez vous et reconnectez vous depuis ce lien en cochant le case
Me connecter automatiquement lors de mes prochaines visites.

M.A.J. en cours du forum possibilité de bug, nous faisons le maximum pour les résoudre au plus vite

#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

En 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)

En 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ᴉsdn

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.

En ligne