Live data from Hacker News

I wrote an bash enumerator because I was sick of xargs

numerlab.org

1–10 of 202 posts

Re: I wrote an bash enumerator because I was sick of xargs

#2
bashumerate — iterate over files, lines, ranges, or lists with a consistent {} syntax. No for loops, no find -exec, no xargs flags to remember. enumerate -f '*.sh' -- wc -l {} enumerate -L a b c -- 'echo {}' Under 150 lines of bash, pluable sources, NUL-safe. https://github.com/wallach-game/bashumerate

Re: I wrote an bash enumerator because I was sick of xargs

#3

bashumerate — iterate over files, lines, ranges, or lists with a consistent {} syntax. No for loops, no find -exec, no xargs flags to remember. enumerate -f '*.sh' -- wc -l {} enumerate -L a b c -- 'echo {}' Under 150 lines of bash, pluable sources, NUL-safe. https://github.com/wallach-game/bashumerate

Have you seen parallel?

Re: I wrote an bash enumerator because I was sick of xargs

#7
Not sure I see the point of this. Remembering a bunch of options on one tool is no better than a bunch of tools/constructs? Especially if the latter are useful elsewhere. And it can't be used for scripts unless you start shipping it alongside, which… nah.

Just go with

  foo | while read X; do bar "$X"; done

Re: I wrote an bash enumerator because I was sick of xargs

#9
On the topic of xargs replacements, I love gnu parallel.

The --dry-run flag of parallel made me confident to do more batch processing than I ever did with xargs.

Parallel has an option for almost everything, it's almost too much.

But I have shopped around for alternatives. The creator Ole Tange maintains a painstakingly long article of the alternatives and their differences. [0]

The gnu parallel book and reading materials [1] are excellent too.

[0] https://www.gnu.org/software/parallel/parallel_alternatives....

[1] https://www.gnu.org/software/parallel/#Tutorial

Re: I wrote an bash enumerator because I was sick of xargs

#10
post #4

find -print0 | xargs -0 -I {} "the {} iterated command"

Xargs is fine, but openbsd has a -J option and every time I read the man page to figure out how to use it I read the -I and -J options and my brain glazes over.

https://man.openbsd.org/xargs

Other brain glazing obsd wierdness is it's two argument cd command, a cryptid I am unable to wrap my head around.

https://man.openbsd.org/ksh#cd~2

Post reply on HN