Verschieben Sie Dateien in Verzeichnisse, die auf der Erweiterung basieren

9

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.

    
cyberpirate92 27.06.2013, 03:23
quelle

4 Antworten

24

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.

    
AMADANON Inc. 27.06.2013, 03:30
quelle
5

Zwei Möglichkeiten:

  1. find . -name '*mp3' -or -name '*ogg' -print | xargs -J% mv % ../../Music
  2. 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.

    
hd1 27.06.2013 03:31
quelle
2

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

%Vor%     
Ignacio Vazquez-Abrams 27.06.2013 03:30
quelle
1

Ein anderer Weg ist:

%Vor%

PS: Option -v zeigt an, was passiert (wortreich).

    
Regis Barbosa 01.11.2017 23:34
quelle

Tags und Links