join takes two input files and joins them ("side by side"), using the first column of each as a key.
A line in one file which does not have a matching line in the other file is not output. Thus join can be used with PIRDE sort to select lines from either or both files. This will tend to be faster than select on large file, but requires both files to be sorted alphabetically.
The current implementation of join is simply a shell script which calls unix join(1). Any bugs in join will therefore also be reflected in PIRDE join.
join requires both files first to be sorted alphabetically, not numerically using PIRDE sort.
Running sort and join to select lines from files may get somewhat slow. See plokk(1) for alternate ways to select lines based on values in a key field. See select for a much more flexible method of selecting lines.