head bigfile.1.txt | grep | awk | stuff
and refine things, and when output looks right, it's a simple "Ctrl+A Meta+D cat RET" to run it on the full output. Or vice versa if I suddenly want to go back to testing part of bigfile (or exchange the cat for "grep something").If I want to change that to "< bigfile.1.txt", I have to "Ctrl+A Meta+D < Meta+F Meta+F Meta+F Ctrl+D Ctrl+D" – the extra keypresses are to delete the first "|" symbol. And if I suddenly want to change it back to head or grep, I have to reinsert the | (also I often by habit do Meta+D instead of Ctrl+D at the beginning of the line, which doesn't work as intended if the first token is "<" instead of "cat").
Those useless cats are quite handy when doing a lot of shell work.
Also, that's a Useless Use of head, since grep has the option "-m10"
"(If we move grep to run immediately after cat, and before putting data into Redis, this operation runs more than 1,200 times faster.)"
Which does indicate that in some cases the UUOC is justified (thou in this case the cat remains)
Considering the tiny overhead of an additional cat process, UUOC these days feels like nitpicking.