I was going to point this out too.
For those who may not know, you can put the I/O redirection anywhere in the command, not just at the end.
So you can write
< input_file.txt grep some_pattern | grep another
Which has the same effect as grep some_pattern < input_file.txt | grep another
but puts the input redirection at the beginning so you can easily follow the data flow from left to right.I use "redirection first" in other cases such as
1>&2 echo "Error: missing file"
To make it clear up-front that I'm writing to stderr.