Hyæna

Through the darkness of future past

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.csv

Kopiert wird mit Wildcard, weil die Dateiendungen in diesem Fall unbekannt waren.



Ähnliche Artikel