Suponho que você esteja fazendo algum tipo de classificação, e que essa classificação seja feita de forma lexicográfica, em vez de numericamente; nesse caso, 96 seria classificado após 115 (pois 9 vem depois de 1 ).
awk -F '-' '$3 > max { max = $3; line = $0 } END { print line }' file
Para os dados fornecidos, isso produzirá
chizzle-rock-115-green
O código compara o terceiro campo - -delimited com o maior número encontrado atual ( max ). Se o número do campo for maior, max será atualizado com esse número e a linha de entrada atual será salva em line . No final, o conteúdo de line é impresso.
Isso é um pouco mais rápido do que a classificação, pois é uma operação linear (a classificação é na melhor das hipóteses O(n*log(n)) ), mas você não notará uma grande diferença, a menos que tenha grandes quantidades de dados.