Transformer un fichier sans extension en dot

Résolu/Fermé
Signaler
-
 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

3 réponses

Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 489
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 ;-))
2
Merci

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

CCM 41989 internautes nous ont dit merci ce mois-ci


Merci, oui c'est ça !! Merci
Messages postés
18346
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 décembre 2021
5 447
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"
}
$ 
Messages postés
21895
Date d'inscription
mercredi 18 avril 2007
Statut
Contributeur
Dernière intervention
7 décembre 2021
1 671
y'a même pas besoin d'échapper les acolades ? juste de le mettre entre guillemets ?
c'est merveilleux.

Merci
Messages postés
21895
Date d'inscription
mercredi 18 avril 2007
Statut
Contributeur
Dernière intervention
7 décembre 2021
1 671
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.