1 DATE=$(date '+%Y%m%d')
2
3 for FILE in MAA.TRD*.csv
4 do
5 CODE=$(echo $FILE | cut -d. -f3)
6 CLIENT=$(grep -w $CODE ClientNames | sed 's/^.*, //')
7 NEWFILE=$CLIENT.$DATE.csv
8 mv $FILE $NEWFILE
9 echo " Zipping of $NEWFILE is starting "
10 zip -j $NEWFILE.zip $NEWFILE
11 done
1 - defina a data, é melhor usar um formato como este que não tenha espaços, sinta-se à vontade para ajustar à sua preferência
3 - apenas faça um loop na quantidade de arquivos que você tem no diretório (isso irá se expandir para todos os arquivos que combinam com a convenção de nomenclatura que você delineou)
5 - obtenha o CÓDIGO do nome do arquivo
6 - obtém o CLIENTE de ClientNames baseado no CÓDIGO do arquivo atual (usando o sed aqui para incluir a remoção do espaço após a vírgula, se não houver realmente um espaço cut -d, -f2
irá funcionar) - isto assume que ClientNames é no CWD, use um caminho completo, se necessário
7 - crie o novo nome de arquivo para facilitar a reutilização posterior
8 - renomeie o arquivo para o seu novo nome
10 - zipar o arquivo (você não quer um zipfile terminando em .csv)