Достаточно простого while
цикла bash :
IFS=";" while read othercolumn1 othercolumn2 ... id ... othercolumnx do mv $id DAN/ done < dan.csv
Он считывает каждую строку из файла CSV, разбивает строку по набору символов в IFS
переменной и сохраняет каждое значение этой строки в соответствующих переменных, указанных в заголовке цикла while.
Убедитесь, что заголовок цикла while (где перечислены все столбцы) соответствует заголовку вашего CSV-файла. Вероятно, вам не нужны значения других столбцов, но, тем не менее, важно прочитать их, иначе каждое значение в CSV будет рассматриваться как id
значение. Если ваш CSV-файл отделен от чего-то другого ;
, убедитесь, что IFS=
перед while
циклом установлен определенный символ в качестве -value .
Если бы у вас dan.csv
было четыре столбца, где id - третий, вы бы сделали это так:
IFS=";" while read othercolumn1 othercolumn2 id othercolumn4 do mv $id DAN/ done < dan.csv