Verwenden des mv-Befehls mit mehreren Platzhaltern

Verwenden des mv-Befehls mit mehreren Platzhaltern

Ich bin bei Linux noch relativ neu, also gehen Sie es mit einem Neuling ruhig an, oder?

Ich habe Skripte eingerichtet, die Mediendateien anhand ihres Namens in ein bestimmtes Verzeichnis verschieben. Ich habe dazu ein Platzhalterzeichen verwendet, aber ich muss es noch spezifischer machen, damit nur genau das verschoben wird, was ich will.

Beispiel:mv /home/user/Downloads/*Horror* /home/user/Downloads/transmission/completed/Series/AHS/

Ich muss wissen, ob es möglich ist, mehrere Platzhalter in einen einzigen Verschiebebefehl einzuschließen. Im vorhergehenden Beispiel möchte ich, dass das Skript alle Folgen von American Horror Story in das AHS-Verzeichnis verschiebt. Das Skript funktioniert, aber wenn ich etwas anderes herunterlade, das das Wort „Horror“ enthält, wird diese Datei ebenfalls verschoben.

Ist das, wonach ich frage, möglich, oder gibt es eine ganz andere Methode, die ich verwenden sollte?

Antwort1

Versuchen Sie es mit einem Platzhalter wie *American*Horror*. Sie können auch zusätzliche Platzhalter im Quellpfad verwenden, wie /usr/home/D*/*American*Horror*. Je nachdem, was sich in Ihrem Download-Verzeichnis befindet, *A*H*kann ein einfaches Muster wie den gewünschten Dateien entsprechen.

Möglicherweise können Sie Mustervergleiche wie verwenden *[aA]merican*[hH]orror*.

Normalerweise gebe ich den Befehl entweder mit dem Präfix wieder echooder verwende lsListendateien, die dem Muster entsprechen, bevor ich den eigentlichen Befehl ausführe. Dies gibt die Möglichkeit, das Muster anzupassen, bevor eine Aktion ausgeführt wird.

verwandte Informationen