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 ...; done
Zyklusoperatorenread file
Variable deklarierenfile
mv
bewegen$file ../$file
Quelle - Ziel. Das..
steht für 'eine Ebene höheres Verzeichnis' (z. B./home/user/documents
ist Ihr aktuelles Verzeichnis,/home/user
wird Ihr..
listoffiles.txt
Ihre Datei, die die Liste enthält.