ls -A
para mim escreve vários nomes de arquivos em uma linha, separados por espaços em branco. Se você tentou adicionar -1
como em ls -A1
, isso produziria um nome de arquivo por linha e poderia funcionar melhor para você.
Eu me deparo com os mesmos problemas com espaços no nome do arquivo, espeicamente ao usar o find, mas separar nomes com um caractere nulo manipula espaços & amp; novas linhas em nomes de arquivos:
find (...) -print0 | xargs -0 (do stuff here)
Mas, se você quiser apenas renomear arquivos, você pode considerar man rename
como:
For example, to rename all files matching "*.bak" to strip the extension,
you might say
rename 's/\.bak$//' *.bak
To translate uppercase names to lower, you'd use
rename 'y/A-Z/a-z/' *
Ou para uma solução de gui para alguns diretórios, o Thunar tem uma boa interface para renomear arquivos múltiplos que pode fazer numeração como você está descrevendo também. Eu tentei alguns nomes de arquivos com espaços combinados com find para Thunar e parece funcionar:
find . -type f -print0 | xargs -0 thunar -B