EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

mmv – Online in der Cloud

Führen Sie mmv im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl mmv, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


mmv - mehrere Dateien nach Wildcard-Mustern verschieben/kopieren/anhängen/verknüpfen

ZUSAMMENFASSUNG


mmm [-m|x|r|c|o|a|l|s] [-h] [-d|p] [-g|t] [-v|n] [--] [für zu]

Beispiele:


Benenne alles um *.jpeg Dateien im aktuellen Verzeichnis zu * .jpg:

mmv '*.jpeg' '#1.jpg'

Ersetze das erste Vorkommen von ABC mit xyz in allen Dateien im aktuellen Verzeichnis:

mmv '*abc*' '#1xyz#2'

Benennen Sie Dateien um, die auf enden .html.de, .html.de, usw. bis auf enden .de.html, .de.htmlusw. in
das aktuelle Verzeichnis:

mmv '*.html.??' '#1.#2#3.html'

Musikdateien umbenennen von <Track Nr.> - - <Lied Titel>.ogg zu -
<Track Nr.> - <Lied Titel>.ogg im aktuellen Verzeichnis:

mmv '* - * - *.ogg' '#2 - #1 - #3.ogg'

BESCHREIBUNG


Mmw verschiebt (oder kopiert, angehängt oder verknüpft, wie angegeben) jede Quelldatei, die mit a . übereinstimmt für
Muster an den Zielnamen, der durch die zu Muster. Diese Mehrfachaktion wird ausgeführt
sicher, dh ohne unerwartetes Löschen von Dateien durch Kollisionen von Zielnamen
mit bestehenden Dateinamen oder mit anderen Zielnamen. Außerdem, bevor Sie etwas tun,
mmm versucht, alle Fehler zu erkennen, die sich aus der gesamten Reihe von Aktionen ergeben würden
angegeben und gibt dem Benutzer die Wahl zwischen einer der beiden Vorgehensweisen, indem sie die Beleidigung vermeidet
Teile oder Abbruch. mmm unterstützt große Dateien (LFS), unterstützt aber *NICHT* Sparse
Dateien (dh es explodiert sie).

Die Aufgabenoptionen

Ob mmm Verschieben, Kopieren, Anhängen oder Verknüpfen wird durch den ersten Satz von angegebenen Optionen geregelt
Oben. Wenn keines davon angegeben ist, wird die Aufgabe durch den Befehlsnamen angegeben, unter dem
mmm wurde aufgerufen (argv[0]):

Befehlsname Standardaufgabe

mmv-x
mcp-c
verrückt -a
mln-l

Die Auswahlmöglichkeiten der Aufgabenoptionen sind:

-m : Quelldatei in den Zielnamen verschieben. Beide müssen sich auf demselben Gerät befinden. Wird sich nicht bewegen
Verzeichnisse. Wenn die Quelldatei ein symbolischer Link ist, verschiebt den Link ohne
Prüfen, ob das Ziel des Links aus dem neuen Verzeichnis sich vom alten unterscheidet.

-x : wie -m, außer dass geräteübergreifende Verschiebungen durch Kopieren und anschließendes Löschen der Quelle erfolgen.
Legt beim Kopieren die Berechtigungsbits und die Dateiänderungszeit des Ziels fest
Datei an die der Quelldatei an.

-r : Umbenennen der Quelldatei oder des Verzeichnisses in den Zielnamen. Der Zielname darf kein a . enthalten
Pfad: Die Datei bleibt in jedem Fall im selben Verzeichnis. Diese Option ist die einzige
Möglichkeit zum Umbenennen von Verzeichnissen unter mmm.

-c : Quelldatei in den Zielnamen kopieren. Legt die Dateiänderungszeit und -berechtigung fest
Bits der Zieldatei in die der Quelldatei, unabhängig davon, ob die
Zieldatei existiert bereits. Ketten und Zyklen (wird weiter unten erklärt) sind nicht
erlaubt.

-o : Zielnamen mit Quelldatei überschreiben. Wenn die Zieldatei vorhanden ist, wird sie überschrieben,
behält seinen ursprünglichen Besitzer und seine Berechtigungsbits. Wenn es nicht existiert, ist es
erstellt, mit gesetzten Lese-Schreib-Berechtigungsbits gemäß umask(1), und die Ausführung
Berechtigungsbits aus der Quelldatei kopiert. In beiden Fällen ist die Dateiänderung
Die Uhrzeit wird auf die aktuelle Uhrzeit eingestellt.

-a : Inhalt der Quelldatei an den Zielnamen anhängen. Die Änderungszeit der Zieldatei beträgt
auf die aktuelle Uhrzeit eingestellt. Wenn die Zieldatei nicht existiert, wird sie mit erstellt
Berechtigungsbits wie unter -o gesetzt. Im Gegensatz zu allen anderen Optionen erlaubt -a mehrere
Quelldateien den gleichen Zielnamen haben, zB "mmv -a \*.c big" wird alle anhängen
".c"-Dateien in "big". Ketten und Zyklen sind auch erlaubt, also wird "mmv -aff"
verdoppeln Sie "f".

-l : Zielname mit Quelldatei verknüpfen. Beide müssen sich auf demselben Gerät befinden und die Quelle
darf kein Verzeichnis sein. Ketten und Fahrräder sind nicht erlaubt.

-s : wie -l, aber verwenden Sie symbolische Links anstelle von harten Links. Für den resultierenden Link
um wieder auf die Quelle zu zielen, muss entweder der Quellenname mit einem '/' beginnen, oder die
target muss sich entweder im aktuellen oder im Quellverzeichnis befinden. Wenn nichts davon
Bedingungen erfüllt sind, wird der Link abgelehnt. Quelle und Ziel können sich jedoch auf befinden
verschiedene Geräte, und die Quelle kann ein Verzeichnis sein.

Es darf nur eine dieser Optionen angegeben werden, die für alle übereinstimmenden Dateien gilt. Verblieben
Optionen müssen nicht separat angegeben werden, dh "mmv -mk" ist erlaubt.

Mehrere Musterpaare / Muster aus STDIN lesen

Mehrere für -- zu Musterpaare können angegeben werden, indem das Musterpaar auf dem weggelassen wird
Befehlszeile und geben Sie sie über die Standardeingabe ein, ein Paar pro Zeile. (Wenn ein Muster
Paar auf der Kommandozeile angegeben wird, wird die Standardeingabe nicht gelesen.)

mmm
ab
CD

würde "a" in "b" und "c" in "d" umbenennen. Wenn eine Datei mehreren der angegebenen zugeordnet werden kann
für Muster, die zu Muster des ersten übereinstimmenden Paares verwendet. Daher,

mmm
ab
ac

würde die Fehlermeldung "a -> c : no match" geben, weil die Datei "a" (auch wenn sie existiert) war
bereits vom ersten Musterpaar abgeglichen.

WARNUNG: Diese Betriebsart funktioniert nicht funktionieren, wenn die Muster selbst enthalten Räume. Sehen
http://bugs.debian.org/149873 für weitere Einzelheiten.

Das Aus Schnittmuster

Das für Muster ist ein Dateiname mit eingebetteten Platzhaltern: '*', '?', '['...']' und ';'. Die
die ersten drei haben ihr Übliches sh(1) Bedeutungen von bzw. Übereinstimmung mit einer beliebigen Zeichenfolge von
Zeichen, die mit einem einzelnen Zeichen übereinstimmen und mit einem beliebigen Zeichensatz übereinstimmen.

Zwischen '[' und ']' wird ein Bereich von Zeichen 'a' bis Zeichen 'z' angegeben
mit "az". Der Satz übereinstimmender Zeichen kann durch Einfügen eines '^' nach dem negiert werden
'['. Somit passt "[^b-e2-5_]" auf jedes Zeichen außer 'b' bis 'e', ​​'2' bis '5',
und '_'.

Beachten Sie, dass Pfade in den Mustern zulässig sind und Platzhalter mit
schneidet willkürlich. Die ';' Platzhalter ist nützlich, um Dateien in beliebiger Tiefe in der Datei abzugleichen
Verzeichnisbaum. Es stimmt mit "*/" überein, das beliebig oft wiederholt wird, einschließlich Null,
und kann entweder nur am Anfang des Musters oder nach einem '/' auftreten. Also ";*.c"
entspricht allen ".c"-Dateien im oder unterhalb des aktuellen Verzeichnisses, während "/;*.c" ihnen entspricht
irgendwo im Dateisystem.

Darüber hinaus, wenn die für Muster (oder die zu Muster) beginnt mit "~/", das "~" wird ersetzt
mit dem Heimatverzeichnisnamen. (Beachten Sie, dass die Funktion "~user" von csh(1) ist nicht
implementiert.) Das '~' wird jedoch nicht als Platzhalter behandelt, in dem Sinne, dass es nicht
einen Wildcard-Index zugewiesen (siehe unten).

Da das Abgleichen eines Verzeichnisses unter einer anderen Aufgabenoption als -r oder -s zu einem
Fehler, andere Aufgaben als -r und -s matchen Verzeichnisse nur gegen vollständig explizite für
Muster (dh keine Platzhalter enthalten). Unter -r und -s gilt dies nur für "." und
"..".

Dateien, die mit '.' beginnen werden nur gegen für Muster, die mit einem beginnen
explizites '.'. Wenn jedoch -h angegeben wird, werden sie normal abgeglichen.

Warnung: da die Shell normalerweise Platzhalter erweitert, bevor sie die Befehlszeile übergibt
Argumente zu mmm, ist es normalerweise notwendig, die Befehlszeile einzuschließen für und zu Muster
in Anführungszeichen.

Das Zu Schnittmuster

Das zu Muster ist ein Dateiname mit eingebettetem Platzhalter Indizes, wobei ein Index besteht aus
das Zeichen '#' gefolgt von einer Ziffernfolge. Wenn eine Quelldatei mit a übereinstimmt für
Muster wird ein Zielname für die Datei aus dem zu Muster durch Ersetzen der
Wildcard-Indizes nach den tatsächlichen Zeichen, die mit den referenzierten Wildcards im
Quellenname. Also, wenn die für Muster ist "abc*.*" und das zu Muster ist "xyz#2.#1", dann
"abc.txt" ist auf "xyztxt." ausgerichtet. (Das erste '*' stimmte mit "" überein und das zweite stimmte überein
"txt".) Ähnlich ist für das Musterpaar ";*.[clp]" -> "#1#3/#2", "foo1/foo2/prog.c"
auf "foo1/foo2/c/prog" ausgerichtet. Beachten Sie, dass nach dem "#1" im kein '/' steht zu
Muster, da die Zeichenfolge mit einem ';' ist immer entweder leer oder endet mit einem '/'. In
In diesem Fall stimmt es mit "foo1/foo2/" überein.

So konvertieren Sie die Zeichenfolge, die mit einem Platzhalter übereinstimmt, in Klein- oder Großbuchstaben vor
Um es in den Zielnamen einzubetten, fügen Sie 'l' bzw. 'u' zwischen dem '#' und dem . ein
Ziffernfolge.

Das zu Muster, wie das für Muster, kann mit einem "~/" beginnen (siehe oben). Das tut nicht
erfordern das Einschließen der zu Muster in Anführungszeichen auf der Befehlszeile seit csh(1) erweitert
das '~' in genau der gleichen Weise wie mmm (oder im Fall von sh(1), erweitert es nicht bei
alle).

Für alle Aufgabenoptionen außer -r, wenn der Zielname ein Verzeichnis ist, wird das echte Ziel
name wird gebildet, indem ein '/' gefolgt von der letzten Komponente des Quelldateinamens angehängt wird.
Zum Beispiel wird "mmv dir1/a dir2", wenn "dir2" tatsächlich ein Verzeichnis ist, tatsächlich verschoben
"dir1/a" bis "dir2/a". Wenn "dir2/a" jedoch bereits existiert und selbst ein Verzeichnis ist, wird dies
wird als Fehler gewertet.

Um ein beliebiges Zeichen (z. B. '*', '?' oder '#') seiner besonderen Bedeutung zu entziehen mmm, als wenn die
Der tatsächliche Ersatzname muss das Zeichen '#' enthalten, vor dem Sonderzeichen
a ´\' (und wegen der Shell das Argument in Anführungszeichen setzen). Das funktioniert auch
einen Wildcard-Index beenden, wenn im Dateinamen eine Ziffer folgen muss, zB
"a#1\1".

Ketten und Zyklen

Eine Kette ist eine Folge bestimmter Aktionen, auf die sich der Zielname einer Aktion bezieht
die Quelldatei einer anderen Aktion. Zum Beispiel,

mmm
ab
bc

spezifiziert die Kette "a" -> "b" -> "c". Ein Zyklus ist eine Kette, bei der der letzte Zielname
verweist zurück auf die erste Quelldatei, zB "mmv aa". Mmw erkennt Ketten und Zyklen
unabhängig von der Reihenfolge, in der ihre konstituierenden Aktionen tatsächlich gegeben sind. Woher
erlaubt, dh beim Verschieben, Umbenennen und Anhängen von Dateien werden Ketten und Zyklen behandelt
anmutig, indem Sie sie in der richtigen Reihenfolge ausführen. Zyklen werden durch die erste Umbenennung unterbrochen
eine der Dateien zu einem temporären Namen (oder erinnert sich einfach an ihre ursprüngliche Größe, wenn Sie dies tun
anhängt).

Kollisionen und Löschungen

Wenn zwei oder mehr übereinstimmende Dateien verschoben, kopiert oder mit derselben verknüpft werden müssen
Zieldateiname, mmm erkennt die Bedingung als Fehler, bevor Aktionen ausgeführt werden.
Außerdem, mmm prüft, ob eine seiner Aktionen zur Zerstörung vorhandener
Dateien. Wenn die Option -d (delete) angegeben ist, werden alle Dateilöschungen oder -überschreibungen durchgeführt
schweigend. Unter -p (protect) werden alle Löschungen oder Überschreibungen (außer denen mit
"(*)" bei der Standardeingabe, siehe unten) werden als Fehler behandelt. Und wenn keine Option ist
angegeben, wird der Benutzer zu jedem Löschen oder Überschreiben separat abgefragt. (Ein neuer Stream
to "/dev/tty" wird für alle interaktiven Abfragen verwendet, nicht die Standardeingabe.)

Fehlerbehandlung

Immer wenn ein Fehler in den Aktionsspezifikationen des Benutzers festgestellt wird, wird eine Fehlermeldung
auf der Standardausgabe ausgegeben, und mmm fährt mit der Überprüfung der restlichen angegebenen Aktionen fort.
Sobald alle Fehler erkannt wurden, mmm fragt den Benutzer, ob er fortfahren möchte bis
Fehlhandlungen zu vermeiden oder ganz abzubrechen. Diese und alle anderen Fragen können sein
vermeiden, indem Sie entweder die Option -g (go) oder -t (terminate) angeben. Der ehemalige Wille
alle Schwierigkeiten lösen, indem die fehlerhaften Handlungen vermieden werden; letzteres wird abbrechen mmm if
eventuelle Fehler werden erkannt. Angabe eines der Standardwerte mmm zu -p, es sei denn, -d ist
angegeben (siehe oben). Daher sind -g und -t beim Ausführen am nützlichsten mmm im Hintergrund
oder in einem Shell-Skript, wenn interaktive Abfragen unerwünscht sind.

Meldungen

Sobald die auszuführenden Aktionen festgelegt sind, mmm führt sie lautlos aus, es sei denn, entweder
die Option -v (ausführlich) oder -n (keine Ausführung) wird angegeben. Die ehemaligen Ursachen mmm zu berichten,
jede ausgeführte Aktion auf der Standardausgabe als

a -> b : fertig.

Hier würden "a" und "b" durch den Quell- bzw. Zielnamen ersetzt. Wenn die
Aktion löscht das alte Ziel, ein "(*)" wird nach dem Zielnamen eingefügt. Auch der
Das Symbol "->" wird geändert, wenn ein Zyklus unterbrochen werden muss: das '>' wird in ein '^' auf der geändert
Aktion, vor der das alte Ziel in ein temporäres umbenannt und das '-' in . geändert wird
ein '=' für die Aktion, bei der das Temporär verwendet wird.

Unter -n wird keine der Aktionen ausgeführt, aber Meldungen wie die obige werden auf gedruckt
die Standardausgabe mit dem ": done." weggelassen.

Die von -n erzeugte Ausgabe kann (nach der Bearbeitung, falls gewünscht) zurückgeführt werden an mmm auf die
Standardeingabe (durch Weglassen des für -- zu Paar auf dem mmm Befehlszeile). Zu erleichtern
Dies, mmm ignoriert Zeilen in der Standardeingabe, die wie ein eigener Fehler aussehen und "fertig"
Nachrichten sowie alle Zeilen, die mit Leerzeichen beginnen, und akzeptieren Musterpaare
mit oder ohne dazwischenliegendem "->" (oder "-^", "=>" oder "=^"). Zeilen mit "(*)" nach dem
Zielmuster haben den Effekt, dass -d nur für die Dateien aktiviert wird, die diesem Muster entsprechen
dass solche Löschungen stillschweigend erfolgen.

WARNUNG: Dies bedeutet, dass unerwartet kann passieren, wenn Dateien passend zu den Mustern
enthalten Räume. Sehen http://bugs.debian.org/149873 für weitere Einzelheiten.

Beim Füttern mmm seine eigene Ausgabe, muss man daran denken, die Task-Option erneut anzugeben (wenn
any) ursprünglich verwendet, um es zu generieren.

Obwohl mmm versucht, alle Pannen vorherzusagen, bevor bestimmte Aktionen ausgeführt werden,
Unfälle passieren können. Zum Beispiel, mmm prüft nicht auf ausreichenden freien Speicherplatz, wenn
Kopieren. So kann es trotz aller Bemühungen immer noch möglich sein, dass eine Aktion nach einiger Zeit fehlschlägt
andere wurden schon gemacht. Um die Wiederherstellung so einfach wie möglich zu gestalten, mmm Berichte, die
Aktionen, die bereits ausgeführt wurden und die nach einem solchen Fehler noch auszuführen sind
tritt ein. Es bricht dann ab und versucht nicht, etwas anderes zu tun. Sobald der Benutzer aufgeräumt hat
das Problem, er kann diesen Bericht zurückschicken mmm auf der Standardeingabe, um es zu vervollständigen
die Aufgabe. (Der Benutzer wird nach einem Dateinamen gefragt, um diesen Bericht auszugeben, wenn die Standardausgabe
wurde nicht weitergeleitet.)

EXIT STATUS


Mmw beendet mit Status 1, wenn es abgebrochen wird, bevor etwas getan wird, mit Status 2, wenn es fällig abbricht
nach Abschluss einiger Aktionen fehlschlagen, andernfalls mit Status 0.

Nutzen Sie mmv online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad