I feel like I'm getting better at shell fu.
-
@funkylab which then makes it impossible to search >_<
@gsuberland yep, exaxtly my gripe. `man zsh-for` or even `man zsh for` would be possible on modern `man`s
-
@acsawdey I've tried to use awk a few times but I find the syntax non-obvious (in a similar way to perl) so it never sticks
honestly `python -c` would probably be easier for me to remember lol
@acsawdey @gsuberland
Awk is a bit awkward, but it's a piece of cake compared to Perl. But I, too, prefer Python. -
@acsawdey @gsuberland
Awk is a bit awkward, but it's a piece of cake compared to Perl. But I, too, prefer Python.@brouhaha @gsuberland well, yes for anything other than 1-liners I too prefer python. But awk somehow is very amenable to doing tiny things like this:
awk '{count[$0]++} END{for(x in count) { printf("%-10d %s\n",count[x],x) } } ' | sort -n
-
I also hate that shell builtins don't have manpages. I have looked up the justification for this and I find it deeply unsatisfying.
@gsuberland consider toybox?
-
the main annoyance I have with shell stuff is how the command names defy discoverability.
"I would like to flush my current shell history to the history file"
"ok run fc -W"
"huh. what does fc stand for?"
"fix command"
"... ok"
I use fc (through aliases) all the time and I have never heard a good explanation of the name.
100% agreed discoverability is a huge problem in shell commands, built-in or not. I wrote a tool, "nums",then literally years later found out that "seq" does almost the same thing. Mine is only better in being smart about zero padding: "nums 01-10" pads, "nums 1-10" doesn't
-
R relay@relay.an.exchange shared this topic
-
I also hate that shell builtins don't have manpages. I have looked up the justification for this and I find it deeply unsatisfying.
@gsuberland this annoys me so much. Even more when I get the builtin man page for something that is also a standalone tool. Which has a man page -
@gsuberland consider toybox?
@F3715H I read the readme and it isn't clear to me what toybox is. it also exclusively mentions Linux, which I don't use.
-
I also hate that shell builtins don't have manpages. I have looked up the justification for this and I find it deeply unsatisfying.
@gsuberland in fish, this just works. Probably required a blood sacrifice of them though.
-
I also hate that shell builtins don't have manpages. I have looked up the justification for this and I find it deeply unsatisfying.
note: I am not asking for advice, I am simply stating a problem with the default state of things.
-
I also hate that shell builtins don't have manpages. I have looked up the justification for this and I find it deeply unsatisfying.
@gsuberland yeppppp, one of the messiest, most frustrating-for-no-good-reason issues with shell scripting imo
-
R relay@relay.infosec.exchange shared this topic
-
I also hate that shell builtins don't have manpages. I have looked up the justification for this and I find it deeply unsatisfying.
@gsuberland I think they supposedly do but the manpages for the builtins have always been infuriatingly unintuitive to find for me.
It's impossible for my shit ass adhd working memory to remember what all of the sections of the manpages hold what kind of information and yet the manpages are the standard go-to reference for everything shell like it's supposed to be innate knowledge to shell touchers.

-
@brouhaha @gsuberland well, yes for anything other than 1-liners I too prefer python. But awk somehow is very amenable to doing tiny things like this:
awk '{count[$0]++} END{for(x in count) { printf("%-10d %s\n",count[x],x) } } ' | sort -n
@acsawdey @brouhaha @gsuberland
at an early ISP, our entire billing system for 3000 UUCP/TCP customers was a huge awk program that produced a single postscript file that we printed to snail mail out bills.
it was so hairy that the UCB UNIX folks used it as a final regression test for new releases of awk.
-
@acsawdey @brouhaha @gsuberland
at an early ISP, our entire billing system for 3000 UUCP/TCP customers was a huge awk program that produced a single postscript file that we printed to snail mail out bills.
it was so hairy that the UCB UNIX folks used it as a final regression test for new releases of awk.
@paul_ipv6 @brouhaha @gsuberland I mean, that's probably better than writing it in BASIC (ask me how I know
) -
the main annoyance I have with shell stuff is how the command names defy discoverability.
"I would like to flush my current shell history to the history file"
"ok run fc -W"
"huh. what does fc stand for?"
"fix command"
"... ok"
@gsuberland one thing PowerShell kinda tried to fix… not sure it worked out though (WGet!?)
maybe nushell… but they seem to be OK with LLMs

-
@acsawdey @brouhaha @gsuberland
at an early ISP, our entire billing system for 3000 UUCP/TCP customers was a huge awk program that produced a single postscript file that we printed to snail mail out bills.
it was so hairy that the UCB UNIX folks used it as a final regression test for new releases of awk.
@paul_ipv6 @acsawdey @gsuberland
In the 1990s, I wrote a two-pass cross-assembler for the HP-2100 series minicomputers in awk. I eventually ran up against things that were hard to do in awk, so I ran it through an awk-to-perl translator, then struggled with that.At the time, I wasn't aware of Henry Spencer's aaa, the Amazing Awk Assembler.
-
@paul_ipv6 @acsawdey @gsuberland
In the 1990s, I wrote a two-pass cross-assembler for the HP-2100 series minicomputers in awk. I eventually ran up against things that were hard to do in awk, so I ran it through an awk-to-perl translator, then struggled with that.At the time, I wasn't aware of Henry Spencer's aaa, the Amazing Awk Assembler.
@brouhaha @acsawdey @gsuberland
our founder challenged tom christianson to convert the awk script to perl but tom declined the bet...