Transformer un fichier sans extension en dot
Résolu
justeunequestion
-
justeunequestion -
justeunequestion -
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
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
A voir également:
- Transformer un fichier sans extension en dot
- Fichier bin - Guide
- Changer extension fichier - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
3 réponses
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 :
Résultat ;-))
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 ;-))
justeunequestion
Merci, oui c'est ça !! Merci
hello
avec awk
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" } $
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.
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.