Ajout d'une ligne vide toutes les 3 lignes via SED, AWK, etc

Résolu/Fermé
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 - 1 juin 2022 à 16:58
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 - 2 juin 2022 à 07:04
Bonjour,

Via un script bash je génère un fichier qui contient cela :

subject= CN=mdmirot.net
notBefore=May 6 02:20:32 2022 GMT
notAfter=Aug 4 02:20:31 2025 GMT
subject= CN=estimopt.fr
notBefore=May 31 14:08:42 2022 GMT
notAfter=Aug 29 14:08:41 2025 GMT
subject= CN=estima.fr
notBefore=May 6 02:20:24 2022 GMT
notAfter=Aug 4 02:20:23 2025 GMT


Pour plus de lisibilité, je souhaiterais ajouter une ligne vide entre chaque bloc subject comme ceci

subject= CN=mdmirot.net
notBefore=May 6 02:20:32 2022 GMT
notAfter=Aug 4 02:20:31 2025 GMT

subject= CN=estimopt.fr
notBefore=May 31 14:08:42 2022 GMT
notAfter=Aug 29 14:08:41 2025 GMT

subject= CN=estima.fr
notBefore=May 6 02:20:24 2022 GMT
notAfter=Aug 4 02:20:23 2025 GMT


Avez vous une idée comment faire avec SED, AWK ou autre?

Merci

2 réponses

jee pee Messages postés 40472 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 novembre 2024 9 428
Modifié le 1 juin 2022 à 18:05
Bonjour,

Il vaudrait mieux avoir ton script de départ, car suivant comment c'est codé, en rajoutant \n devant subject= tu obtiens un saut de ligne dans le fichier final.

On peut aussi faire
sed '{2,$s/^subject=/\nsubject=/}' fic1.txt


1
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 23
2 juin 2022 à 07:04
J'avais essayé en ajoutant un \n devant subject mais cela ne fonctionnait pas.

Merci pour la syntaxe de SED qui fonctionne.
0