Menu

Transformer un fichier sans extension en dot [Résolu/Fermé]

- - Dernière réponse :  justeunequestion - 9 déc. 2011 à 14:02
Bonjour,

j'ai un fichier que j'ai générer par grep dans mon terminal donc sans extension spécial.
Il est de ce type:

toto/blabla/truc.sql
toto/blabla/machin.html
toto/blibli/truc.pl
tata/chose.sql

et il y a 13 pages de chose comme ça!

J'aimerais en faire un graphique genre dot.

Connaissez-vous un moyen rapide de transformer mon fichier automatiquement en dot donc en quelque chose comme ça:

digraph mon_graphe {
a - b - c;
b - d;
}

qui pourra être lu dans des logiciels tel que graphviz ou tulip?

Merci d'avance

Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
36526
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
21 mai 2019
3544
1
Merci
Salut,

Je suppose qu'avec "sed" tu devrais pouvoir remanier ton fichier pour qu'il soit conforme à la syntaxe attendu par ton programme ;-))

Un petit exemple avec ton fichier :

$ cat toto 
toto/blabla/truc.sql
toto/blabla/machin.html
toto/blibli/truc.pl
tata/chose.sql

$ sed '1i\graph G{' toto | sed 's#/# -- #g' | sed 's/[^ ]*\..*\b/"&"/'| sed '$a\}' > toto.dot

$ cat toto.dot
graph G{
toto -- blabla -- "truc.sql"
toto -- blabla -- "machin.html"
toto -- blibli -- "truc.pl"
tata -- "chose.sql"
}

$ dot -Tpng toto.dot -o toto.png

$


Résultat ;-))

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 39477 internautes nous ont dit merci ce mois-ci

-
Merci, oui c'est ça !! Merci
Messages postés
17703
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 mai 2019
4315
1
Merci
hello
avec awk
$ awk -F/ 'BEGIN{OFS=" -- " ; print "graph G{"} {sub(".*", "\"&\"", $NF) ; print } END{print "}"}' fichier
graph G{
toto -- blabla -- "truc.sql"
toto -- blabla -- "machin.html"
toto -- blibli -- "truc.pl"
tata -- "chose.sql"
}
$ 

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 39477 internautes nous ont dit merci ce mois-ci

dna.factory
Messages postés
18347
Date d'inscription
mercredi 18 avril 2007
Statut
Contributeur
Dernière intervention
21 mai 2019
1248 -
y'a même pas besoin d'échapper les acolades ? juste de le mettre entre guillemets ?
c'est merveilleux.
-
Merci
Messages postés
18347
Date d'inscription
mercredi 18 avril 2007
Statut
Contributeur
Dernière intervention
21 mai 2019
1248
0
Merci
tu parles de grep, donc je suppose qu'on est dans un environement n*x
auquel cas, tu as accès aux awk et au sed.

dans ce cas, c'est relativement simple de faire ce que tu veux... à condition que tu nous dise ce que tu veux...
car en l'occurence je ne vois aucun rapport entre l'origine et la destination.