Supprimer des lignes vides dans 1 fichier txt

Fermé
Rom1 - 24 avril 2005 à 13:44
 cenedrill - 19 mai 2017 à 09:28
Salut les gens !!

Voilà, j'ai un fichier texte qui à de nombreuses ligne vides que j'aimerai bien supprimé. Quelle commande serait selon vous adéquate à cette situation ??

De plus, j'aimerai bien rajouté un même numéro à la fin de chaque ligne, ex :

jsdfj djfdjf 8
jdjfj daeradf 8
hgag gsdok, 8

Que puis-je faire ??

Un grand merci à ceux qui répondront !

10 réponses

asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 23 novembre 2024 426
24 avril 2005 à 13:57
Salut,

Les methode ne manquent pas, la commande sed me semble appropriée :)

Selon la version, tu pourra même te passer de fichier temporaire pour faire ça. (-i)

Suppression des lignes vide:
sed '/^$/d' test >test.tmp
mv test.tmp test
ou
sed -i '/^$/d' test
(d) efface la ligne correspondant au pattern(/^$/)
^ représente le début de ligne
$ représente la fin de ligne
^$ représente donc une ligne vide.

Pour ajouter un chiffre à la fin de chaque ligne:
sed 's/\(.*\)/\1 ton_chiffre/' test >test.tmp
mv test.tmp test
ou
sed -i 's/\(.*\)/\1 ton_chiffre/' test
\1 représente ce qui se trouve entre la premiere paire de parenthéses.
tu substitues (s) la ligne(.*) par la ligne (\1) plus ton chiffre.

Tu peux ensuite cumuler les deux:
sed -e '/^$/d' -e 's/\(.*\)/\1 ton_chiffre/' test >test.tmp
ou
sed -i -e '/^$/d' -e 's/\(.*\)/\1 ton_chiffre/' test
Voili voilou :)

++
21
Simple mais toujours utile , merci ^_^
0