Ein Programm generiert output.txt
nach jeder 15. Iteration eines bestimmten Prozesses Ausgabetextdateien, die benannt sind. Dabei wird der letzte überschrieben output.txt
. Ich möchte die Dateien jedoch behalten und kann den Dateinamen im Programm nicht ändern.
Kann ich zusammen mit dem Programm ein Skript ausführen, das das Ausgabeverzeichnis überwacht und die output.txt
Dateien in ein anderes Verzeichnis verschiebt und umbenennt ?
bash
python
scripts
programming
Sajid Iqbal
quelle
quelle
Antworten:
Installieren Sie zuerst das Paket
inotify-tools
:Ein Bash-Skript würde helfen
Was bedeutet dieses Skript:
Dadurch wird der Ordner überwacht.
~/Desktop/abc
Wenn also eine darin erstellte Datei erstellt wird, wird die darin erstellte Datei mit dem Namenoutput.txt
in ein Verzeichnis~/Desktop/Old_abc
verschoben und mit einem Suffix aus Datum und Uhrzeit der neuen Datei umbenannt, um sicherzustellen, dass alte Dateien nicht überschrieben werden und so können Sie auch wissen, dass diese Datei zu welcher Zeit und zu welchem Datum erstellt wurdequelle
Das folgende Skript verschiebt und benennt alle Dateien um, die möglicherweise in einem definierten Verzeichnis (
dr1
) angezeigt werden. Die Dateien werden wieoutput_1.txt
folgt umbenannt : , output_2.txt` usw. Das Skript sieht "aktiv" aus, wenn der Zielname bereits in Verzeichnis 2 vorhanden ist (nicht aus einem "blind" ausgewählten Bereich), sodass Sie das Skript jederzeit starten und stoppen können ohne das Risiko, vorhandene Dateien zu überschreiben.Da die Ausgabedateien einen eindeutigen Namen erhalten und vorhandene Dateien per Definition nicht überschrieben werden, kann das Zielverzeichnis mit dem Quellverzeichnis identisch sein.
Wie benutzt man
rename_save.py
Führen Sie es mit dem folgenden Befehl aus:
während das andere (iterierende) Skript ausgeführt wird
Das Skript
quelle
Installieren Sie das Paket
inoticoming
Wrapper-Skript erstellen
watch_output
:Machen Sie es ausführbar:
Beobachten Sie Ihren Ordnerausgabeordner:
Beispiel:
quelle