| ▲ | account42 9 hours ago | |
> Consistent syntax — same {} placeholder for files, lines, ranges, or lists Inconsistent syntax native bash methods so its an additional syntax to learn. > Template mode — single-quoted commands work as shell templates: enumerate -f '*' -- 'cat {} | head -5' Passing commands a a single string is BAD. Now you have to think about escaping and quoting. What does {} get replaced with if the enumerant contains unsafe characters? Can it be used as part of a larger argument or only on its own? Who knows, it's not bash. Compared to a bash loop its also always a subshell with all the implications that has - even find can be piped into a normal bash loop. > Filters — --include and --exclude with glob patterns A fraction of what find or native loops provide. And since this can't replace them in general enumerate is an additional thing to learn on top. > Extensible — drop a file in lib/enumerators/ to add custom sources To extend bash loops you don't even need root access, you just add the code to the loop. | ||
| ▲ | iririririr 8 hours ago | parent [-] | |
being consistent in a sea of inconsistency is a good thing, no matter how hard you try to paint otherwise. the solution have to start at some point. But the rest, yeah, scary. | ||