Uma solução, se todas as strings comuns estiverem bem formadas, usar awk
e usar os três primeiros campos como a chave:
awk -F/ '{a[$1$2$3]=$0} END {for(k in a) {print a[k]}}'
Isso dividirá cada linha em campos com base em /
como o delimitador. Usamos os primeiros 3 campos como a chave em uma matriz e armazenamos a linha inteira como o valor.
Quando terminarmos com a entrada, percorremos o array e imprimimos o valor, que será sempre a última linha que correspondeu à chave dada.
Como sugerido, poderíamos tornar isso um pouco mais flexível tirando a última parte e comparando o resto:
awk -F/ '{orig=$0; $NF=""; a[$0]=orig} END {for(k in a) {print a[k]}}'
que salvará toda a linha sem ser modificada, fará com que o último campo seja a string vazia e, em seguida, faça o mesmo resto do trabalho da matriz como antes.