Contenu | Rechercher | Menus

Annonce

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

À propos de l'équipe du forum.

#1 Le 01/03/2018, à 15:33

Matthis

Sed suppression de saut de ligne si elle ne débute pas par #

Bonjour,

J'ai un fichier de la forme suivante :
#toto;foo;foo;foo;foo
#toto;foo;foo;foo;foo;
foo;foo;
foo
#toto;foo;foo;foo
#toto;
foo;

et j'aimerais avoir ça :
#toto;foo;foo;foo;foo
#toto;foo;foo;foo;foo;foo;foo;foo
#toto;foo;foo;foo
#toto;foo

Il faut donc que je supprime le saut de ligne si elle ne débute pas par #

J'ai bien trouvé des trucs pour supprimer les sauts de ligne mais pas selon la ligne suivante

Quelqu'un peut-il m'aider ?

Hors ligne

#2 Le 01/03/2018, à 16:24

Watael

Re : Sed suppression de saut de ligne si elle ne débute pas par #

salut,

sed '/^#/! d'

Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#3 Le 01/03/2018, à 16:52

erresse

Re : Sed suppression de saut de ligne si elle ne débute pas par #

Heuuu, Watael...
Là tu supprimes les lignes qui ne commencent pas pas par #, il veut juste supprimer la fin de ligne, mais garder les données.
smile


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#4 Le 01/03/2018, à 18:17

Watael

Re : Sed suppression de saut de ligne si elle ne débute pas par #

ouaip, pas concentré le pèpère sad


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#5 Le 01/03/2018, à 19:23

Watael

Re : Sed suppression de saut de ligne si elle ne débute pas par #

en détournant le problème ?

sed ':a;$! {N;ba}; s/;\n/;/g'

Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#6 Le 01/03/2018, à 19:59

erresse

Re : Sed suppression de saut de ligne si elle ne débute pas par #

En fait, peut-on dans une commande "sed" :
- rechercher une ligne qui ne commence pas par le caractère #
- supprimer la marque de fin de ligne sur la ligne précédente
ou
- reculer d'une ligne
- supprimer la marque de fin de ligne
Éventuellement dans une boucle ?
J'avoue que je ne maîtrise pas du tout sed, awk et autres grep... Du coup, je préfère ne pas risquer une proposition foireuse...


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#7 Le 01/03/2018, à 20:23

Watael

Re : Sed suppression de saut de ligne si elle ne débute pas par #

sed ':a;$! {N;ba}; s/\n\([^#]\)/\1/g'

Connected \o/
Welcome to sHell. · eval is evil.

En ligne