Eine einfache Bash- while
Schleife ist ausreichend:
IFS=";" while read othercolumn1 othercolumn2 ... id ... othercolumnx do mv $id DAN/ done < dan.csv
Das liest jede Zeile aus der CSV-Datei, teilt die Zeile durch den Zeichensatz in der IFS
Variablen auf und speichert jeden Wert dieser Zeile in den entsprechenden Variablen, die im Header der while-Schleife angegeben sind.
Stellen Sie sicher, dass die Kopfzeile der while-Schleife (in der alle Spalten aufgeführt sind) an die Kopfzeile Ihrer CSV-Datei angepasst wird. Sie benötigen die Werte der anderen Spalten wahrscheinlich nicht, aber es ist wichtig, sie trotzdem zu lesen, da sonst jeder Wert in der CSV als id
Wert behandelt würde . Wenn Ihre CSV-Datei durch etwas anderes getrennt ist ;
, stellen Sie sicher, dass Sie das spezifische Zeichen IFS=
vor der while
Schleife als -value festlegen .
Wenn Sie dan.csv
vier Spalten hätten, in denen die ID die dritte ist, würden Sie dies folgendermaßen tun:
IFS=";" while read othercolumn1 othercolumn2 id othercolumn4 do mv $id DAN/ done < dan.csv