Ich bin neu in Linux. Ich versuche, ein Shell-Skript zu schreiben, das Dateien in bestimmte Ordner verschieben soll , wie zum Beispiel in meinem Download-Ordner, ich habe alle Dateien mit gemischten Dateitypen. Ich habe das folgende Skript geschrieben
%Vor%Wie kann ich es automatisch ausführen lassen, wenn eine Datei zu diesem Ordner hinzugefügt wird? Jetzt muss ich das Skript jedes Mal manuell ausführen.
Noch eine Frage, gibt es eine Möglichkeit, diese 2 Aussagen zu kombinieren
%Vor% in eine einzige Aussage? Ich habe versucht, ||
(C Programmierung 'oder' Operator) und Komma, aber sie scheinen nicht zu funktionieren.
Es gibt keinen Auslöser für das Hinzufügen einer Datei zu einem Verzeichnis. Wenn die Datei über eine Webseite hochgeladen wird, können Sie die Webseite möglicherweise dazu veranlassen.
Sie können dafür ein Skript in crontab setzen, auf Unix-Maschinen (oder Task-Scheduler in Windows). Google Crontab für eine Anleitung.
Verwenden Sie zum Kombinieren Ihrer Befehle Folgendes:
%Vor%Sie können so viele verschiedene "Globs" (Dateinamen mit Platzhaltern) einfügen, wie Sie möchten. Das letzte Ding sollte das Zielverzeichnis sein.
Zwei Möglichkeiten:
find . -name '*mp3' -or -name '*ogg' -print | xargs -J% mv % ../../Music
find . -name '*mp3' -or -name '*ogg' -exec mv {} ../Music \;
Bei der ersten Methode wird eine Pipe verwendet, und der Argumentenraum kann leer sein; während die zweite möglicherweise zu viele Gabeln verwendet und langsamer ist. Aber beides wird funktionieren.
incron überwacht das Dateisystem und führt bei bestimmten Ereignissen Laufbefehle aus.
Sie können mehrere Befehle in einer einzelnen Zeile kombinieren, indem Sie ein Befehlstrennzeichen verwenden. Das unbedingte serialisierte Befehls-Trennzeichen ist ;
.
Ein anderer Weg ist:
%Vor%PS: Option -v zeigt an, was passiert (wortreich).