Desculpe se isso tiver uma resposta em outro lugar, não tenho ideia de como procurar meu problema.
Eu estava executando algumas simulações em um servidor HPC linux redhat, e meu código para manipular a estrutura de pastas para salvar a saída teve um erro infeliz. Meu código matlab para criar a pasta foi:
folder = [sp.saveLocation, 'run_', sp.run_number, '/'];
onde sp.run_number
era um número inteiro. Esqueci de convertê-lo em uma string, mas por algum motivo a execução mkdir(folder);
(no matlab) ainda foi bem-sucedida. Na verdade, as simulações foram executadas sem problemas e os dados foram salvos no diretório correspondente.
Agora, quando a estrutura de pastas é consultada/impressa, recebo as seguintes situações:
- Quando tento tab autocomplete:
run_ run_^A/ run_^B/ run_^C/ run_^D/ run_^E/ run_^F/ run_^G/ run_^H/ run_^I/
- Quando eu uso
ls
:run_ run_? run_? run_? run_? run_? run_? run_? run_? run_? run_?
. - Quando eu transfiro para o meu mac usando o rsync, a
--progress
opção mostra:run_\#003/
etc. com (suponho) o número correspondente ao inteirosp.run_number
preenchido com três dígitos, então a 10ª execução érun_\#010/
- Quando vejo as pastas no localizador, vejo
run_ run_ run_ run_ run_ run_ run_ run_ run_ run_?
- Olhando para esta pergunta e usando o comando
ls | LC_ALL=C sed -n l
recebo:
run_$
run_\001$
run_\002$
run_\003$
run_\004$
run_\005$
run_\006$
run_\a$
run_\b$
run_\t$
run_$
Não consigo cd
entrar nas pastas usando nenhuma dessas representações.
Eu tenho milhares dessas pastas, então vou precisar corrigir isso com um script. Qual destas opções é a representação correta da pasta? Como posso me referir programaticamente a essas pastas para renomeá-las com um nome formatado corretamente usando um script bash? E eu acho que por curiosidade, como diabos isso aconteceu em primeiro lugar?