Redirect outputs with subshell
Today I learned how to use a Subshell to redirect multiple outputs as a single one. This way I can run a bunch of commands and unify all the results as it was a single command.
(git diff --name-only; git diff --staged --name-only) | sort -u
The above example will show me a sorted list of changed files (including the staged ones) in a git project without duplicates.
Here's another example:
$ echo "world"; echo "hello" | sort -u
#=> world
#=> hello
$ (echo "world"; echo "hello") | sort -u
#=> hello
#=> world
Tweet