: # draw directory tree tw -P -e " begin: printf('digraph tw { rankdir=LR\n'); end: printf('}\n'); action: if (type == LNK) { status = FOLLOW; local = 1; } else { printf('n%d_%ld_%d [ shape= ', dev, ino, visit); if (local) printf('diamond'); else if (type == NS) printf('plaintext'); else if (type == DIR) printf('ellipse'); else printf('box'); printf(' label=\"%s\" ]\n', name); if (level > 0) printf('n%d_%ld_0 -> n%d_%ld_%d\n', parent.dev, parent.ino, dev, ino, visit); if (visit > level) { if (visit == level + 1) printf('{ rank=same n%d_%ld_%d n%d_%ld_0 }\n', dev, ino, dev, ino, visit); printf('n%d_%ld_%d -> n%d_%ld_0 [ style=dotted ]\n', dev, ino, dev, ino, visit); } } " "$@"