#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.
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
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