Se pudermos assumir com segurança que todos os seus nomes são exclusivos, quero dizer que há apenas um arquivo cujo nome contém _P1_A1
, apenas um com _P1_A2
etc, você pode fazer isso:
$ awk 'NR>1{print "mv *_P""_""* sample"}' key.txt
mv *_P1_A1* sample1
mv *_P1_A2* sample2
mv *_P1_A3* sample3
Awk lê sua entrada linha por linha e a divide em campos no espaço em branco. Portanto, o primeiro campo é , o segundo
etc. Aqui, estamos processando o arquivo de chaves e imprimindo o comando
mv
correto construindo-o a partir dos campos do arquivo.
Se você tiver certeza de que os comandos mv
impressos estão corretos, você poderá executá-los com:
awk 'NR>1{system("mv *_P""_""* sample")}' key.txt