#!/bin/bash
FILE_TO_SORT="$1"
INDEX_FILE="$2"
TMP_FILE=$(mktemp)
while read LINE; do
grep "$LINE" "$FILE_TO_SORT" >>"$TMP_FILE"
done <"$INDEX_FILE"
mv -f "$TMP_FILE" "$FILE_TO_SORT"
O script acima terá 2 argumentos e classificará o primeiro com base no segundo, leve em consideração que as linhas não correspondidas por qualquer no arquivo de índice serão descartadas, também o arquivo original será substituído pelo arquivo classificado. Além disso, se você tiver várias linhas para serem classificadas com o mesmo índice e quiser que sejam classificadas, você pode alterar a linha grp para este grep "$LINE" "$FILE_TO_SORT" | sort -f 4 >>"$TMP_FILE"
e ele será classificado pelo número (campo 4) no final. .