Если вы измените порядок файлов в grep, он даст вам нужные записи, но в исходном порядке, также добавит правильные параметры.
$ grep -xFf file2 file1
apples
pear
apples
apples
grapes
grapes
straw
Однако, если вы хотите, чтобы они были в порядке file2,awk
является лучшим решением.
Вот одно решение без awk
$ join -2 2 <(sort file1) <(nl file2 | sort -k2) | sort -k2n | cut -d' ' -f1
apples
apples
apples
pear
grapes
grapes
straw