Este comando em um prompt bash classifica corretamente os arquivos em uma pasta de destino. A classificação ocorre no terceiro campo em ordem decrescente, conforme mostrado abaixo:
$ find -printf '%f\n' | sort -r -k3
bfilename Desc 1068%.html
afilename Desc 298%.html
Quero mostrar os nomes de arquivo em ordem classificada como links em um navegador. Minha ideia é criar e acrescentar um número de índice exclusivo de quatro dígitos ao respectivo nome de arquivo, conforme mostrado abaixo:
0001 filename Desc 1068%.html
0002 filename Desc 298%.html
Esta pergunta usa a saída de sort para renomear arquivos em um loop, mas não entendo como modificar o código para minha tarefa:
https://unix.stackexchange.com/questions/564672/rename-files-based-on-their-ranked-number
Posso canalizar a saída do comando sort para outro processo que renomeie os arquivos adicionando um índice ou que crie uma nova pasta com links classificados para os arquivos originais? Gostaria de experimentar ambas as opções. Gostaria de usar o bash, mas um script python também é uma opção.
EDITAR
$ n=1; find -printf '%f\n' | sort -r -k3 | while read f; do printf "%04d" $n; echo " $f"; let n+=1; done
0001 Desc 1068%.html
0002 Desc 298%.html
0018 Desc 17%.html
0019 .
O comando acima funciona para imprimir na saída padrão, mas inclui um item de ponto extra indesejado 0019. A árvore fornece 18 arquivos no diretório.
$ find -printf '%f\n' | sort -r -k3 | nl -n rz
000001 Desc 1068%.html
000002 Desc 298%.html
000018 Desc 17%.html
000019 .
Com base no comentário, a saída é mostrada. Gostaria de remover os dois primeiros zeros à esquerda e não gerar a linha final com um ponto. A saída vai para a saída padrão. Ainda não sei como fazer isso renomear os arquivos no diretório atual e/ou gerar links suaves em um novo diretório?