mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-12-23 01:39:27 +02:00
37 lines
855 B
Bash
Executable File
37 lines
855 B
Bash
Executable File
#!/bin/bash
|
|
|
|
HOST=${1:?DOMAIN or IP is empty}
|
|
|
|
docker exec -i memgraph_memgraph_1 mgconsole -output-format=csv <<- _CQL_ | sed -e 's/"//g' | tail -n +2 | tr '[],[]' ' ' | gawk -f /dev/fd/3 3<<- "_AWK_" | column -t -i1 -p2 -r3 -H1,2 | sed 's/─/& /'
|
|
MATCH p=(n)-[*]->(m)
|
|
WHERE any(n in nodes(p) where n.name = '$HOST') AND not exists(()-->(n)) AND not exists((m)-->())
|
|
UNWIND nodes(p) AS nn
|
|
WITH DISTINCT nn
|
|
CALL path.expand(nn,[">"],[],1,1) YIELD result
|
|
RETURN extract(i in nodes(result)|i.name);
|
|
_CQL_
|
|
BEGIN {
|
|
split("", cache);
|
|
split("", roots);
|
|
idx=0;
|
|
}
|
|
{
|
|
if(!($1 in cache)) {
|
|
roots[$1] = cache[$1] = ++idx;
|
|
}
|
|
if(!($2 in cache)) {
|
|
cache[$2] = ++idx;
|
|
}
|
|
delete roots[$2];
|
|
print cache[$2], cache[$1], $2;
|
|
}
|
|
END {
|
|
print "0 -1 ."
|
|
for(root in roots) {
|
|
print cache[root], 0, root;
|
|
}
|
|
}
|
|
_AWK_
|
|
|
|
# vim: set noai noet:
|