Terminal: Bewegen vieler Dateien mit einer CSV-Datei
Sozusagen eine Weiterführung meines Artikels Terminal: Umbenennen vieler Dateien mit einer CSV-Datei:
In einem Ordner im Dateisystem liegen tausende Dateien und dutzende dieser Dateien müssen in einem anderen Ordner „gesammelt“ werden. Nun hat man nicht unbedingt Lust, jede Datei einzeln anzusprechen und zu kopieren…
Was man aber – wenn es gut läuft – hat, ist eine CSV-Datei mit einer Liste aller Dateinamen der benötigten Dateien. Diese Datei kann man nun mit einem Shell-Skript dazu verwenden, alle benötigten Dateien in den Zielordner zu kopieren -> copy-files.sh. CSV-Datei und Shell-Skript werden in den Ordner gespielt und das Shell-Skript ausgeführt, fertig!
Wie lautet nun der Inhalt des Shell-Skriptes? So:
#!/bin/bash
while read line
do
filename=$(echo "$line" | awk -F"," '{print $1}')
cp $filename* "../targetfolder/"
done < filenames.csvKopiert wird mit Wildcard, weil die Dateiendungen in diesem Fall unbekannt waren.
Erstellt von Ole Rosendahl 17. April 2015 • 1 Min. Lesezeit