Primeiro, exporte seus dados como formato de arquivo .csv , como abaixo:
F001,IC500
F003,IC501
F006,IC502
F008,IC503
Em seguida, execute o script abaixo para renomear esses diretórios para seus novos nomes:
while IFS=, read -a dirName; do
echo mv -v "/singleFolder/${dirName[0]}" "/singleFolder/${dirName[1]}";
done < /path/to/file.csv
mv -v /singleFolder/F001 /singleFolder/IC500
mv -v /singleFolder/F003 /singleFolder/IC501
mv -v /singleFolder/F006 /singleFolder/IC502
mv -v /singleFolder/F008 /singleFolder/IC503
-
read -ausado para dividir cada linha lida no array com base emIFS, que redefinii para comma,. -
Cada linha lê na variável
dirName. - Com
${dirName[0]}, estamos obtendo a primeira parte da linha (coluna A). -
Com
${dirName[1]}, estamos obtendo a última parte da linha (coluna B). -
mvcomando usado para renomear lá.
Portanto, commv -v "/singleFolder/${dirName[0]}" "/singleFolder/${dirName[1]}", estamos renomeando o nome dos diretórios de columnA para new-name em columnB, que estão localizados no diretóriosingleFolder.
A opção -
-vmostra o que está sendo feito durante a execução do comando.
Além disso, você pode usar o comando sem tornar o conteúdo da linha como uma matriz como esta:
while IFS=, read -r oldName newName;do
echo mv -v "/singleFolder/${oldName}" "/singleFolder/${newName}";
done < /path/to/file.csv
Nota: remova o comando echo para executar a renomeação em seus diretórios reais.