combinando ou renomeando arquivos

1

Eu tenho uma lista de arquivos no diretório Eles são nomeados:

2.pdb
3.pdb
14.pdb
...
200.pdb
...
1240.pdb

Gostaria de combinar tudo isso nesta ordem específica. Quando eu uso

cat *pdb > pdb_all.txt 

parece que faz apenas uma combinação aleatória (ou talvez inicie todos os arquivos que começam com o número 1 (não importa se é 1, 10 ou, 1000). Posso fazer este comando combinar meus arquivos em uma ordem específica ou renomeio todos os meus arquivos para conter 4 dígitos (por exemplo, 0002, 0003, 0014 etc). Eu suspeito que o último é o caminho mais fácil, mas como faço isso com o comando mv em um mac?

    
por Ditte 09.03.2015 / 12:48

2 respostas

1

A maneira mais fácil é como você diz para renomear seus arquivos e adicionar zeros à esquerda. Você pode fazer isso no terminal do seu mac assim:

for a in *.pdb; do mv $a 'printf %05d.%s ${a%.*} ${a##*.}'; done

Neste exemplo, defino que cada número deve conter 5 dígitos. Então 1.pdb será renomeado para 00001.pdb. No entanto, você pode diminuir isso para 4 ou o que for adequado à sua necessidade.

Boa sorte!

Editar

Para que funcione com o sufixo pdbid.1 , esta é a resposta:

for a in *.pdbid.1; do mv $a 'printf %05d.%s ${a%.*.*} ${a#*.}'; done
    
por stalet 09.03.2015 / 13:02
1

Eu usaria uma combinação de find, sort e xargs para conseguir algo assim.

find ./ -name "*.pdb" | sort -n | xargs cat > pdb_all.txt
    
por Nathan S. Watson-Haigh 09.03.2015 / 13:21