このようなGraphVizファイルがあります
graph {
edge [arrowhead = none]
A -> B
B -> C
B -> D [ label="foobar" ];
C -> A
}
そして、ノードがいくつあるかを知りたいです。たとえば、この場合は (A、B、C、D) 4. 1 文字のノードに固執するときは、次のようなスクリプトを使用します。
grep -- -\> graph.gv | grep -o . | sort | grep [A-Z] | uniq | wc -l
しかし、複数文字ノードを使用する必要がある場合、それは失敗します。
理想的には、ちょうど一致するものがあるでしょう
match $a -> $b ; echo $a\n $b\n | uniq | wc -l
しかし、私はsed/grep/awkを介してこれを行う方法がわかりません...最善の方法は何でも