Um simples laço bash while
é suficiente:
IFS=";"
while read othercolumn1 othercolumn2 ... id ... othercolumnx
do
mv $id DAN/
done < dan.csv
Que lê todas as linhas do arquivo CSV, divide a linha pelo conjunto de caracteres na variável IFS
e armazena cada valor dessa linha nas variáveis correspondentes especificadas no cabeçalho do loop while.
Certifique-se de ajustar o cabeçalho do loop while (onde todas as colunas estão listadas) ao cabeçalho do seu arquivo CSV. Você provavelmente não precisa dos valores das outras colunas, mas é importante lê-las, caso contrário, todos os valores no CSV serão tratados como um valor id
. Se o seu arquivo CSV for separado por algo diferente de ;
, certifique-se de definir o caractere específico como IFS=
-value antes do loop while
.
Se o seu dan.csv
tivesse quatro colunas onde o id é o terceiro, você faria assim:
IFS=";"
while read othercolumn1 othercolumn2 id othercolumn4
do
mv $id DAN/
done < dan.csv