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
13089
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
422
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