TREEIFY(1)

πŸ“¦
version 3.2.0 Β· 5 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

hey bestie, meet treeify(1) β€” the manual page for treeify 3.2.0, aka the little script that looks at your sad flat list of hierarchical ids and goes "not on my watch" πŸ’…


🌈 DESCRIPTION 🌈

okay so here's the tea β˜• β€” treeify identifies a column of text that's holding hierarchical ids, and then treeifies that column. That's it, that's the job.

Here's the whole vibe: this script inspects a text file and attempts to find a vertically left-aligned column of text containing identifiers with multiple components β€” think stuff like "Assets:US:Bank:Checking" β€” and replaces those with a treelike structure rendered in ASCII. It inserts new empty lines wherever it needs to, so the tree actually, y'know, looks like a tree 🌳

🚨 real talk, no cap: if your paths have spaces in them, this will not work. Space is used as a delimiter to detect the end of a column. (Good news though β€” you can customize the delimiter with an option. we love a configurable queen.)

And here's the synopsis, exactly as it comes:

usage: treeify [-h] [-o OUTPUT] [-r PATTERN] [-d DELIMITER] [-s SPLIT]
               [-F] [-A] [--filler FILLER] [input]

πŸŽ€ positional arguments πŸŽ€

  • input β€” name of the file to process. no file? no problem, it defaults to stdin ✨

✨ options ✨

  • -h, --help β€” show this help message and exit. classic. iconic. the "help me bestie" button 🫢
  • -o, --output OUTPUT β€” name of the file to write. if you don't say anything, it writes to stdout (default: stdout)
  • -r, --pattern PATTERN β€” the pattern for repeatable components. default is "(Assets|Liabilities|Equity|Income|Expenses)(:[A-Z][A-Za-z0-9- _']*)*" β€” yeah she's long, she's thorough, she's the main character πŸ”₯
  • -d, --delimiter DELIMITER β€” delimiter pattern to detect the end of a column of text. pro tip from the page itself: if your patterns contain strings, you might wanna set this to a longer string, like ' {2,}' (default: "[ ]+")
  • -s, --split SPLIT β€” the pattern that splits things into components (default: ":")
  • -F, --filenames β€” use a pattern and split that are suitable for filenames πŸ“
  • -A, --loose-accounts β€” use a pattern and split that are suitable for loose account names πŸ’Έ
  • --filler FILLER β€” the filler string used for the new lines that get inserted for formatting. it's literally just the padding so everything lines up pretty 🌸

that's the whole page, bestie, you're officially certified πŸŽ“βœ¨ go forth and make your columns gorgeous.

πŸ’œ this little love letter was brought to you by treeify 3.2.0, dated March 2026 β€” catch you in the next manual page, mwah πŸŽ€πŸ¦‹
πŸ“¦ where this page comes from