Eu tenho uma lista de arquivos em uma pasta, que gostaria de renomear de acordo com um arquivo de texto. Por exemplo:
Estes são os 5 arquivos na pasta.
101_T1.nii
107_T1.nii
109_T1.nii
118_T1.nii
120_T1.nii
Eu gostaria que eles fossem renomeados usando um arquivo de texto contendo uma lista de novos nomes de arquivos na mesma ordem, sem a extensão .nii
:
n01
n02
n03
n04
n05
Como posso fazer isso?
ls | paste - /the/text/file | xargs -n2 mv
Respostas:
Em um liner, esse comando lê o txt 'list' e analisa para cada linha um arquivo.
fonte
Você poderia fazer:
... onde o arquivo "OLD" contém os nomes antigos e o arquivo "NEW" possui os novos nomes correspondentes (1: 1).
fonte
Se o seu shell suportar substituição de processo, tente:
ou você pode fazê-lo POSIXly:
fonte