This question already has an answer here:
Because the input to
join must be sorted, often the command is called similarly to:
join <(sort file1) <(sort file2)
This is not portable as it uses process substitution, which is not specified by POSIX.
join can also use the standard input by specifying
- as one of the file arguments. However, this only allows for sorting one of the files through a pipeline:
sort file1 | join - <(sort file2)
It seems there should be a simple way to accomplish sorting of both files and then joining the results using POSIX-specified features only. Perhaps something using redirection to a third file descriptor, or perhaps it will require created a FIFO. However, I'm having trouble visualizing it.
join be used POSIXly on unsorted files?