Il s'agit de la commande mcp qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
mmv - déplacer/copier/ajouter/lier plusieurs fichiers par des modèles de caractères génériques
SYNOPSIS
mmm [-m|x|r|c|o|a|l|s] [-h] [-d|p] [-g|t] [-v|n] [--] [à partir de à]
EXEMPLES
Renommer tous *.jpeg fichiers dans le répertoire courant pour * .jpg:
mmv '*.jpeg' '#1.jpg'
Remplacez la première occurrence de abc avec xyz dans tous les fichiers du répertoire courant :
mmv '*abc*' '#1xyz#2'
Renommer les fichiers se terminant par .html.fr, .html.de, etc. pour se terminer par .fr.html, .de.html, etc. dans
le répertoire courant :
mmv '*.html.??' '#1.#2#3.html'
Renommer les fichiers musicaux de <piste non.> - - <chanson titre>.ogg à -
<piste non.> - <chanson titre>.ogg dans le répertoire courant :
mmv '* - * - *.ogg' '#2 - #1 - #3.ogg'
DESCRIPTION
mmv déplace (ou copie, ajoute ou relie, comme spécifié) chaque fichier source correspondant à un à partir de
pattern au nom cible spécifié par le à modèle. Cette action multiple est effectuée
en toute sécurité, c'est-à-dire sans suppression inattendue de fichiers en raison de collisions de noms de cibles
avec des noms de fichiers existants ou avec d'autres noms cibles. De plus, avant de faire quoi que ce soit,
mmm tente de détecter toute erreur qui résulterait de l'ensemble des actions
spécifié et donne à l'utilisateur le choix de procéder en évitant le délit
pièces ou avorter. mmm prend en charge les fichiers volumineux (LFS) mais il ne prend *PAS* en charge les fichiers clairsemés
fichiers (c'est-à-dire qu'il les explose).
Les options de tâche
Collectivités, mmm les déplacements, les copies, les ajouts ou les liens sont régis par le premier ensemble d'options donné
dessus. Si aucun de ces éléments n'est spécifié, la tâche est donnée par le nom de la commande sous laquelle
mmm a été invoqué (argv[0]) :
nom de la commande tâche par défaut
mmv-x
mcp-c
fou -a
mln-l
Les choix d'options de tâche sont :
-m : déplace le fichier source vers le nom cible. Les deux doivent être sur le même appareil. Ne bougera pas
répertoires. Si le fichier source est un lien symbolique, déplace le lien sans
vérifier si la cible du lien du nouveau répertoire est différente de l'ancien.
-x : identique à -m, sauf que les déplacements inter-appareils sont effectués en copiant, puis en supprimant la source.
Lors de la copie, définit les bits d'autorisation et l'heure de modification du fichier de la cible
fichier à celui du fichier source.
-r : renommer le fichier ou le répertoire source en nom cible. Le nom de la cible ne doit pas inclure de
path : le fichier reste dans le même répertoire dans tous les cas. Cette option est la seule
manière de renommer les répertoires sous mmm.
-c : copie le fichier source vers le nom cible. Définit l'heure et l'autorisation de modification du fichier
bits du fichier cible à celui du fichier source, que le
le fichier cible existe déjà. Les chaînes et les cycles (à expliquer ci-dessous) ne sont pas
autorisé.
-o : remplace le nom de la cible par le fichier source. Si le fichier cible existe, il est écrasé,
en gardant son propriétaire d'origine et ses bits d'autorisation. S'il n'existe pas, c'est
créé, avec des bits d'autorisation de lecture-écriture définis selon umask(1), et l'exécution
bits d'autorisation copiés à partir du fichier source. Dans les deux cas, la modification du fichier
l'heure est réglée sur l'heure actuelle.
-a : ajoute le contenu du fichier source au nom de la cible. L'heure de modification du fichier cible est
réglé sur l'heure actuelle. Si le fichier cible n'existe pas, il est créé avec
bits d'autorisation définis sous -o. Contrairement à toutes les autres options, -a permet plusieurs
les fichiers sources doivent avoir le même nom cible, par exemple "mmv -a \*.c big" ajoutera tout
".c" en "gros". Les chaînes et les cycles sont également autorisés, donc "mmv -aff" sera
doubler "f".
-l : lier le nom de la cible au fichier source. Les deux doivent être sur le même appareil et la source
ne doit pas être un répertoire. Les chaînes et les cycles ne sont pas autorisés.
-s : identique à -l, mais utilise des liens symboliques au lieu de liens physiques. Pour le lien résultant
pour viser la source, soit le nom de la source doit commencer par un '/', soit le
target doit résider dans le répertoire courant ou dans le répertoire source. Si aucun de ces
conditions sont remplies, le lien est refusé. Cependant, la source et la cible peuvent résider sur
différents périphériques, et la source peut être un répertoire.
Une seule de ces options peut être donnée et elle s'applique à tous les fichiers correspondants. Restant
les options n'ont pas besoin d'être données séparément, c'est-à-dire que "mmv -mk" est autorisé.
Paires de motifs multiples / Motifs de lecture de STDIN
Multiple à partir de -- à les paires de motifs peuvent être spécifiées en omettant la paire de motifs sur le
ligne de commande et en les saisissant sur l'entrée standard, une paire par ligne. (Si un motif
paire est donnée sur la ligne de commande, l'entrée standard n'est pas lue.) Ainsi,
mmm
un B
CD
renommerait "a" en "b" et "c" en "d". Si un fichier peut correspondre à plusieurs des
à partir de modèles, le à modèle de la première paire correspondante est utilisé. Ainsi,
mmm
un B
ac
donnerait le message d'erreur "a -> c : no match" car le fichier "a" (même s'il existe) était
correspond déjà à la première paire de motifs.
AVERTISSEMENT: Ce mode de fonctionnement ne pas fonctionner si les motifs eux-mêmes contiennent surpeuplés. Voir
http://bugs.debian.org/149873 pour en savoir plus.
Le à partir de Patron de Couture
Le à partir de pattern est un nom de fichier avec des caractères génériques intégrés : '*', '?', '['...']' et ';'. Les
les trois premiers ont leur habitude sh(1) significations de, respectivement, correspondant à n'importe quelle chaîne de
caractères, correspondant à n'importe quel caractère unique et correspondant à l'un quelconque d'un ensemble de caractères.
Entre le '[' et ']', une plage du caractère 'a' au caractère 'z' est spécifiée
avec "az". L'ensemble de caractères correspondants peut être annulé en insérant un '^' après le
'['. Ainsi, "[^b-e2-5_]" correspondra à n'importe quel caractère sauf 'b' à 'e', '2' à '5',
et '_'.
Notez que les chemins sont autorisés dans les modèles, et les caractères génériques peuvent être mélangés avec
entaille arbitrairement. Les ';' Le caractère générique est utile pour faire correspondre des fichiers à n'importe quelle profondeur dans le
arborescence de répertoires. Il correspond au même que "*/" répété n'importe quel nombre de fois, y compris zéro,
et ne peut se produire qu'au début du motif ou à la suite d'un '/'. Ainsi ";*.c"
correspondra à tous les fichiers ".c" dans ou en dessous du répertoire actuel, tandis que "/;*.c" les correspondra
n'importe où sur le système de fichiers.
De plus, si le à partir de motif (ou le à pattern) commence par "~/", le '~' est remplacé
avec le nom du répertoire personnel. (Notez que la fonction "~utilisateur" de csh(1) n'est pas
implémenté.) Cependant, le '~' n'est pas traité comme un caractère générique, dans le sens où il n'est pas
attribué un index générique (voir ci-dessous).
Étant donné que la correspondance d'un répertoire sous une option de tâche autre que -r ou -s entraînerait un
erreur, les tâches autres que -r et -s correspondent aux répertoires uniquement avec des à partir de
modèles (c'est-à-dire ne contenant pas de caractères génériques). Sous -r et -s, cela s'applique uniquement à "." et
"..".
Les fichiers commençant par '.' ne sont confrontés qu'à à partir de modèles qui commencent par un
explicite '.'. Cependant, si -h est spécifié, ils correspondent normalement.
Attention : étant donné que le shell développe normalement les caractères génériques avant de passer la ligne de commande
arguments à mmm, il est généralement nécessaire d'inclure la ligne de commande à partir de et à motifs
entre guillemets.
Le À Patron de Couture
Le à pattern est un nom de fichier avec générique index, où un indice se compose de
le caractère '#' suivi d'une chaîne de chiffres. Lorsqu'un fichier source correspond à un à partir de
pattern, un nom cible pour le fichier est construit à partir du à motif en remplaçant le
index génériques par les caractères réels qui correspondent aux caractères génériques référencés dans le
nom de la source. Ainsi, si le à partir de le modèle est "abc*.*" et le à le motif est "xyz#2.#1", alors
"abc.txt" est destiné à "xyztxt.". (Le premier '*' correspondait à "", et le second correspondait
"txt".) De même, pour la paire de motifs ";*.[clp]" -> "#1#3/#2", "foo1/foo2/prog.c" est
ciblé sur "foo1/foo2/c/prog". Notez qu'il n'y a pas de '/' après le "#1" dans le à
motif, puisque la chaîne correspond à tout ';' est toujours vide ou se termine par un '/'. Dans
dans ce cas, il correspond à "foo1/foo2/".
Pour convertir la chaîne correspondant à un caractère générique en minuscule ou en majuscule avant
l'incorporant dans le nom de la cible, insérez 'l' ou 'u', respectivement, entre le '#' et le
chaîne de chiffres.
Le à modèle, comme le à partir de pattern, peut commencer par un "~/" (voir ci-dessus). Cela ne
nécessitent de joindre le à motif entre guillemets sur la ligne de commande depuis csh(1) se développe
le '~' exactement de la même manière que mmm (ou, dans le cas de sh(1), ne l'étend pas à
tous).
Pour toutes les options de tâche autres que -r, si le nom de la cible est un répertoire, la vraie cible
name est formé en ajoutant un '/' suivi du dernier composant du nom du fichier source.
Par exemple, "mmv dir1/a dir2", si "dir2" est bien un répertoire, se déplacera
"dir1/a" à "dir2/a". Cependant, si "dir2/a" existe déjà et est lui-même un répertoire, ce
est considéré comme une erreur.
Pour supprimer n'importe quel caractère (par exemple '*', '?' ou '#') de sa signification spéciale pour mmm, comme lorsque le
le nom de remplacement réel doit contenir le caractère '#', faire précéder le caractère spécial par
un '\' (et placez l'argument entre guillemets à cause du shell). Cela fonctionne également pour
terminer un index générique lorsqu'il doit être suivi d'un chiffre dans le nom de fichier, par exemple
"a#1\1".
Chaînes et Cycles
Une chaîne est une séquence d'actions spécifiées où le nom cible d'une action fait référence à
le fichier source d'une autre action. Par exemple,
mmm
un B
avant JC
spécifie la chaîne "a" -> "b" -> "c". Un cycle est une chaîne où le dernier nom cible
renvoie au premier fichier source, par exemple "mmv aa". mmv détecte les chaînes et les cycles
quel que soit l'ordre dans lequel leurs actions constitutives sont effectivement données. Où
autorisé, c'est-à-dire lors du déplacement, du renommage et de l'ajout de fichiers, les chaînes et les cycles sont gérés
gracieusement, en les exécutant dans le bon ordre. Les cycles sont rompus en renommant d'abord
l'un des fichiers à un nom temporaire (ou simplement en se souvenant de sa taille d'origine lors de
en annexe).
Collisions et suppressions
Lorsque deux ou plusieurs fichiers correspondants doivent être déplacés, copiés ou liés au même
nom de fichier cible, mmm détecte la condition comme une erreur avant d'effectuer toute action.
De plus, mmm vérifie si l'une de ses actions entraînera la destruction de
des dossiers. Si l'option -d (supprimer) est spécifiée, toutes les suppressions ou écrasements de fichiers sont effectués
silencieusement. Sous -p (protéger), toutes les suppressions ou écrasements (sauf ceux spécifiés avec
"(*)" sur l'entrée standard, voir ci-dessous) sont traités comme des erreurs. Et si aucune des deux options n'est
spécifié, l'utilisateur est interrogé séparément sur chaque suppression ou écrasement. (Un nouveau flux
à "/dev/tty" est utilisé pour toutes les requêtes interactives, pas l'entrée standard.)
Gestion des erreurs
Chaque fois qu'une erreur dans les spécifications d'action de l'utilisateur est détectée, un message d'erreur est
donné sur la sortie standard, et mmm procède à la vérification du reste des actions spécifiées.
Une fois toutes les erreurs détectées, mmm demande à l'utilisateur s'il souhaite continuer en
éviter les actions erronées ou abandonner complètement. Cette requête et toutes les autres peuvent être
évité en spécifiant l'option -g (go) ou -t (terminate). Le premier sera
résoudre toutes les difficultés en évitant les actions erronées ; ce dernier avortera mmm if
toute erreur est détectée. Spécification de l'un d'eux par défaut mmm à -p, sauf si -d est
spécifié (voir ci-dessus). Ainsi, -g et -t sont les plus utiles lors de l'exécution mmm en arrière-plan
ou dans un script shell, lorsque les requêtes interactives ne sont pas souhaitables.
Rapports
Une fois les actions à réaliser déterminées, mmm les exécute en silence, à moins que
l'option -v (verbose) ou -n (no-execute) est spécifiée. Les premières causes mmm signaler
chaque action effectuée sur la sortie standard comme
a -> b : terminé.
Ici, "a" et "b" seraient remplacés par les noms source et cible, respectivement. Si la
action supprime l'ancienne cible, un "(*)" est inséré après le nom de la cible. Également
Le symbole "->" est modifié lorsqu'un cycle doit être rompu : le '>' est changé en '^' sur le
action avant laquelle l'ancienne cible est renommée en temporaire, et le '-' est remplacé par
un '=' sur l'action où le temporaire est utilisé.
Sous -n, aucune des actions n'est effectuée, mais des messages comme celui ci-dessus sont imprimés sur
la sortie standard avec le ": done." omis.
La sortie générée par -n peut (après édition, si vous le souhaitez) être renvoyée à mmm sur le
entrée standard (en omettant le à partir de -- à paire sur le mmm ligne de commande). Faciliter
ça, mmm ignore les lignes sur l'entrée standard qui ressemblent à sa propre erreur et "fait"
messages, ainsi que toutes les lignes commençant par un espace blanc, et accepteront les paires de motifs
avec ou sans l'intercalaire "->" (ou "-^", "=>", ou "=^"). Les lignes avec "(*)" après le
modèle cible ont pour effet d'activer -d pour les fichiers correspondant à ce modèle uniquement, donc
que ces suppressions sont effectuées en silence.
AVERTISSEMENT: Cela signifie que inattendu des choses peut arriver si fichiers assortis aux motifs
contiennent surpeuplés. Voir http://bugs.debian.org/149873 pour en savoir plus.
Lors de l'alimentation mmm sa propre sortie, il ne faut pas oublier de spécifier à nouveau l'option de tâche (si
any) utilisé à l'origine pour le générer.
Bien que mmm tente de prédire tous les accidents avant d'effectuer des actions spécifiées,
des accidents peuvent arriver. Par exemple, mmm ne vérifie pas l'espace libre adéquat lorsque
copier. Ainsi, malgré tous les efforts, il est encore possible qu'une action échoue après quelques
d'autres ont déjà été réalisés. Pour rendre la récupération aussi facile que possible, mmm rapports qui
actions ont déjà été effectuées et qui restent à effectuer après un tel échec
se produit. Il avorte alors, n'essayant pas de faire autre chose. Une fois que l'utilisateur a éclairci
le problème, il peut transmettre ce rapport à mmm sur l'entrée standard pour qu'elle soit complète
la tâche. (L'utilisateur est interrogé pour un nom de fichier pour vider ce rapport si la sortie standard
n'a pas été redirigé.)
EXIT STATUT
mmv quitte avec le statut 1 s'il abandonne avant de faire quoi que ce soit, avec le statut 2 s'il abandonne en raison
à l'échec après avoir terminé certaines des actions, et avec le statut 0 dans le cas contraire.
Utiliser mcp en ligne à l'aide des services onworks.net
