Mv-Dateien in einer TXT-Datei in einem Verzeichnis aufgelistet

Mv-Dateien in einer TXT-Datei in einem Verzeichnis aufgelistet

Dies ist meine erste Frage :) Ich bin neu im Bash-Scripting, aber ziemlich gut mit Python. Ich habe ein Verzeichnis mit einer Reihe von Dateien und eine Textdatei, die eine Teilmenge der Dateinamen innerhalb des Verzeichnisses enthält. Ich versuche, ein Skript zu schreiben, das diese TXT-Datei liest, die in der TXT-Datei aufgelisteten Dateien aus dem Verzeichnis auswählt und sie in ein Verzeichnis nach oben verschiebt.

Das klingt vielleicht ganz einfach, aber es gibt Hunderte davon, also versuche ich, sie zu automatisieren! Für jede Hilfe oder Anleitung wäre ich dankbar.

Antwort1

Vorausgesetzt, die Liste enthält vollständige Dateinamen und die Dateien liegen im selben Ordner wie die Liste, lautet der folgende Befehl:

while IFS= read -r file; do mv "$file" ../"$file"; done < listoffiles.txt
  • while ...; do ...; doneZyklusoperatoren
  • read fileVariable deklarierenfile
  • mvbewegen
  • $file ../$fileQuelle - Ziel. Das ..steht für 'eine Ebene höheres Verzeichnis' (z. B. /home/user/documentsist Ihr aktuelles Verzeichnis, /home/userwird Ihr..
  • listoffiles.txtIhre Datei, die die Liste enthält.

verwandte Informationen