I've been using bash since the 90's and I'm still a n00b. I'm still not constructing scripts in my head before I write them down. It's still
$ some command
$ some command | more commands
$ some command | more commands | even more commands
At some point I was making progress and I got to where this was happening:
$ some command
$ some command | more commands
$ even more commands $(some command | more commands)
Whatever I do, I still start with a very general command and add pipes. I don't know what I want before I see it.
I have recently started to rewrite some of my old scripts to get to the point earlier. It works when I'm writing in other languages, but in shell languages it's hard to get rid of this nasty habit of starting with the most general command and accumulate pipes.
#linux