Não importa, eu descobri de forma independente.
Isso pode ser feito com awk
. Note que esta solução faz não tolerar novas linhas no nome do arquivo.
awk -- '{a=$$0;b=$$0;print(gsub("/","/",a)-sub(/\/$$/,"aaa",b),$$0)}' INPUT_FILE.txt \
| "$(call Q2,/usr/bin/sort)" -k1,1nr \
| cut -d " " -f 2-
E enquanto estou aqui, as linhas podem ser duplicadas por meio do seguinte:
awk -- '{pos[$$0] = NR} END { for(key in pos) reverse[pos[key]] = key; for(nr=1;nr<=NR;nr++) if(nr in reverse) print reverse[nr] }' INPUT_FILE.txt
Observe que a desduplicação é crítica para evitar a explosão exponencial de tempo se você acabar sendo recursivo.