Signaler

Insérrer un retour ligne tous les 6 " [Résolu]

Posez votre question jeremyp3 16Messages postés lundi 13 avril 2009Date d'inscription 13 octobre 2016 Dernière intervention - Dernière réponse le 13 oct. 2016 à 09:56
Bonjour,

j'aimerai faire un truc simple, mais visiblement, c'est plus compliqué que je ne le crois ...

mon but est d’insérer un retour ligne tout les 6 guillemet.

mon fichier original ressemble a ça:

val1: "1" val2: "2" val3: "3" val4: "4" val5: "5" val6: "6" ....

ce que j'aimerai:

val1: "1" val2: "2" val3: "3"
val4: "4" val5: "5" val6: "6"

en sachant que je me base sur le 6ème guillemet parce que le contenue des valeurs peuvent changer

j'ai essayé toute sorte de choses avec sed sans obtenir le résultat voulu ...

merci pour votre aide

jerem
Afficher la suite 
Utile
+2
moins plus
hello
$ sed 's/" */"\n/6' fichier
val1: "1" val2: "2" val3: "3"
val4: "4" val5: "5" val6: "6" ....
Ajouter un commentaire
Utile
+0
moins plus
bonjour,

oui, mais non. du coup, je complète mon fichier

mon fichier original ressemble a ça:

val1: "1" val2: "2" val3: "3" val4: "4" val5: "5" val6: "6" val7: "7" val8: "8" val9: "9" ....

ce que j'aimerai:

val1: "1" val2: "2" val3: "3"
val4: "4" val5: "5" val6: "6"
val7: "7" val8: "8" val9: "9"

le "tous les 6 guillemets" était important ...

merci beaucoup !

jerem
Ajouter un commentaire
Utile
+0
moins plus
Salut,
le "tous les 6 guillemets" était important ...
Non, ce qui est important c'est la clarté de l'énoncé avant tout et des exemples concrets eux aussi (AVANT => APRÉS) ;-\

$ cat fich 
val1: "1" val2: "2" val3: "3" val4: "4" val5: "5" val6: "6" val7: "7" val8: "8" val9: "9"

$ sed 's/\([^ ]* \)\{6\}/&\n/g' fich
val1: "1" val2: "2" val3: "3"
val4: "4" val5: "5" val6: "6"
val7: "7" val8: "8" val9: "9"

Ajouter un commentaire
Utile
+0
moins plus
merci, mais ça ne fonctionne pas dans mon fichier original ...

il n'est pas possible de ce baser sur les guillemets que sur les espace qui peuvent changer ?

jerem
UnGnU 243Messages postés lundi 2 mai 2016Date d'inscription 8 décembre 2016 Dernière intervention - 13 oct. 2016 à 08:54
Salut,
mais ça ne fonctionne pas dans mon fichier original ...
Merci de relire le post de zipe31, où il est bien spécifié :

ce qui est important c'est la clarté de l'énoncé avant tout et des exemples concrets eux aussi (AVANT => APRÉS)

Donc, plutôt que de nous faire perdre notre temps avec des bribes d'explications (et d'exemples foireux) à chaque fois, poste une copie (modifiée si tu veux) mais exacte au point de vue formatage de ton fichier original !
Répondre
Ajouter un commentaire
Utile
+0
moins plus
bonjour,


en réalité ce que je demande c'est simple.

peu-t-on avec sed ou tout autre outils faire un interligne (\n) tous les 6 " ?

au vu de la réponse de zipe31 je suppose que ce n'est pas possible vu qu'il a pris les espaces au lieu des guillemets.

une partie de mon fichier original: (je précise qu'il est tronqué mais que ça continue tout sur une ligne dans le même principe...

ville1 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: "" ville2 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: "" ville3 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: "" ville4 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""

ce que je souhaite obtenir:

ville1 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""
ville2 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""
ville3 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""
ville4 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""

Par ailleurs, je pensais me baser sur le url_128k_mp3: "" mais il peut y avoir une valeur dans les guillemets de ce dernier. voilà pourquoi j'insiste sur mon 6 guillemets.... parce que ça, ça ne change jamais, tout le long du dit fichier

jerem, qui est désolé de vous faire perdre votre temps ...
UnGnU 243Messages postés lundi 2 mai 2016Date d'inscription 8 décembre 2016 Dernière intervention - 13 oct. 2016 à 09:49
$ cat fich
ville1 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: "" ville2 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: "" ville3 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: "" ville4 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""

$ sed 's/\([^"]*" *\)\{6\}/&\n/g' fich
ville1 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""
ville2 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""
ville3 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""
ville4 url_hd_aac: "" url_64k_aac: "http://" url_128k_mp3: ""
Répondre
jeremyp3 16Messages postés lundi 13 avril 2009Date d'inscription 13 octobre 2016 Dernière intervention - 13 oct. 2016 à 09:56
bonjour,

merci, ça fonctionne.

pourriez-vous expliquer en quelques mots la commande sed ?

sed 's/\([^"]*" *\)\{6\}/&\n/g'

je vous remercie !

jerem
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !