No caso, se cada item <tr> estiver em uma linha separada:
awk + sort :
awk -F'[<>]' '{ print $(NF-4), $0 }' file.txt | sort -k1,1n -k1.5M | cut -d' ' -f2-
-
-F'[<>]'- trata<e>como separador de campos -
$(NF-4)- contém o último valor da tag<td>(por exemplo,2017Jan31) de cada linha. Isso é usado como uma chave de classificação. -
-k1,1n- classifica pelo primeiro campo numericamente (ou seja, por ano de data) -
-k1.5M- data de classificação de mês a partir do quinto caractere -
cut -d' ' -f2-- remove uma chave de classificação auxiliar (o primeiro campo)
A saída:
<tr><td>some_name_here</td><td>number_code_here</td><td>2018Mar31</td><td>2017Jan31</td></tr>
<tr><td>some_name_here</td><td>number_code_here</td><td>2018Mar31</td><td>2017Dec25</td></tr>
<tr><td>some_name_here</td><td>number_code_here</td><td>2018Mar31</td><td>2018Mar01</td></tr>
<tr><td>some_name_here</td><td>number_code_here</td><td>2018Mar31</td><td>2018Apr02</td></tr>