OVH Cloud OVH Cloud

Unix commande mv

46 réponses
Avatar
romer
Hi,
Impossible de trouver sur le web la chose suivante :
J'ai un dossier D dans lequel un trouve un sous-dossier DD qui contient
plein de fichiers F1...Fn
Comment faire passer d'un coup tous les Fichiers dans le dossier
supérieur ?
Pour un seui fichier c'est simple :
mv F1 ../
Mais dès que je veux faire F1 F2 F3 ./ ça coince. Il me renvoie le
message disant que la syntaxe n'est pas la bonne.
Connaissez-vous la bonne syntaxe ?

Tkx
--
A+
--
Romer

10 réponses

1 2 3 4 5
Avatar
Jerome Lambert
Le 21/12/16 à 11:29, LMA a écrit :
(...)
Un script shell ne te fera pas gagner de temps car il faudra bien entrer
un à un dans le script les noms des fichiers à remonter (ou à exclure).

Sauf si le script "construit" la liste des fichiers à déplacer en
fonction de critères spécifiés, et passe cette liste à mv via xargs.
Avatar
Francis Chartier
Le Wed, 21 Dec 2016 16:47:35 +0100, Jerome Lambert
écrivait :
Le 21/12/16 à 11:29, LMA a écrit :
(...)
Un script shell ne te fera pas gagner de temps car il faudra bien
entrer un à un dans le script les noms des fichiers à remonte r (ou
à exclure).

Sauf si le script "construit" la liste des fichiers à déplacer en
fonction de critères spécifiés, et passe cette liste à   mv via xargs.

Dans un cas comme ça, je fais un mix des méthodes : sélectio n avec des
wildcards pour le plus simple et rapide, et je finis le reste avec un
gestionaire de fichiers sous console comme mc, si le système permet
d'en disposer, bien sûr.
--
Francis Chartier
Bisounours Asocial #0
Avatar
Huilda-Rachid
Le 21/12/16 à 13:46, LMA a écrit :
On 2016-12-21 12:11:11 +0000, Huilda-Rachid said:
La commande mv permet de copier tous les fichiers contenus dans un
dossier vers un autre dossier avec une wild card mais tu ajoutes
toi-même par la suite "Malheureusement, il y en a d'autres [éléments] en
compagnie de ceux que je souhaite remonter."

non !!!!!!
mv = move
cp = copy

D'accord, j'ai indiqué "copier" à la place de "déplacer" et je parlais
bien de déplacement. C'est pas la peine de nous faire un caca nerveux.

je lis "copier" donc tu parlais de la copie et tu ne parlais pas de
déplacement, contrairement à ce que tu écris.
maintenant su tu confonds "parler" avec "penser" cela devient grave
Avatar
Huilda-Rachid
Le 21/12/16 à 16:21, Bernd a écrit :
Huilda-Rachid wrote:
Le 21/12/16 à 11:29, LMA a écrit :
On 2016-12-20 16:51:40 +0000, Bernd said:
J'ai un dossier D dans lequel un trouve un sous-dossier DD qui contient
plein de fichiers F1...Fn
Comment faire passer d'un coup tous les Fichiers dans le dossier
supérieur ?

La commande mv permet de copier tous les fichiers contenus dans un
dossier vers un autre dossier avec une wild card mais tu ajoutes
toi-même par la suite "Malheureusement, il y en a d'autres [éléments] en
compagnie de ceux que je souhaite remonter."

non !!!!!!
mv = move
cp = copy

mv = cp avec ensuite effacement du fichier original.

tu veux voir les sources ???
Avatar
Huilda-Rachid
Le 21/12/16 à 17:59, Huilda-Rachid a écrit :
Le 21/12/16 à 16:21, Bernd a écrit :
Huilda-Rachid wrote:
Le 21/12/16 à 11:29, LMA a écrit :
On 2016-12-20 16:51:40 +0000, Bernd said:
J'ai un dossier D dans lequel un trouve un sous-dossier DD qui
contient
plein de fichiers F1...Fn
Comment faire passer d'un coup tous les Fichiers dans le dossier
supérieur ?

La commande mv permet de copier tous les fichiers contenus dans un
dossier vers un autre dossier avec une wild card mais tu ajoutes
toi-même par la suite "Malheureusement, il y en a d'autres
[éléments] en
compagnie de ceux que je souhaite remonter."

non !!!!!!
mv = move
cp = copy

mv = cp avec ensuite effacement du fichier original.

tu veux voir les sources ???

https://opensource.apple.com/source/file_cmds/file_cmds-242/mv/mv.c
Avatar
romer
Francis Chartier wrote:
Je reviens à ce que je pense : il ne m'apparait pas possible que Unix
ne puisse pas faire la chose avec une commande.

Une commande sous terminal ou un script shell peut
certainement le faire, mais ton problème a priori c'est la sélection
des fichiers à déplacer.
Si la liste contient des fichiers dont les noms ont si peu de points
communs qu'il devient très compliqué d'utiliser un script ou le shell
pour définir une sélection, ça ne présente aucun intérêt à part la
beauté du geste ; donc retour à l'interface graphique.

C'est bien ce que je craignais.
--
A+
--
Romer
Avatar
pehache
Le 20/12/2016 à 17:51, Bernd a écrit :
Hi,
Impossible de trouver sur le web la chose suivante :
J'ai un dossier D dans lequel un trouve un sous-dossier DD qui contient
plein de fichiers F1...Fn
Comment faire passer d'un coup tous les Fichiers dans le dossier
supérieur ?
Pour un seui fichier c'est simple :
mv F1 ../
Mais dès que je veux faire F1 F2 F3 ./ ça coince. Il me renvoie le
message disant que la syntaxe n'est pas la bonne.
Connaissez-vous la bonne syntaxe ?

Euh... il y un truc qui m'échappe dans cette discussion. mv peut
évidemment déplacer plusieurs fichiers d'un coup :
mv F1 F2 F3 ../
Avatar
Francis Chartier
Le Wed, 21 Dec 16 22:24:52 +0000,
pehache a écrit :
Mais dès que je veux faire F1 F2 F3 ./ ça coince.

Euh... il y un truc qui m'échappe dans cette discussion. mv peut
évidemment déplacer plusieurs fichiers d'un coup :
mv F1 F2 F3 ../

Dans l'exemple cité, la destination est le répertoire de dép art, donc
il est normal que ça coince.
Sauf s'il s'agit d'une coquille dans l'énoncé du problème, b ien sûr.
--
Francis Chartier
Bisounours Asocial #0
Avatar
romer
pehache wrote:
Mais dès que je veux faire F1 F2 F3 ./ ça coince. Il me renvoie le
message disant que la syntaxe n'est pas la bonne.
Connaissez-vous la bonne syntaxe ?

Euh... il y un truc qui m'échappe dans cette discussion. mv peut
évidemment déplacer plusieurs fichiers d'un coup :
mv F1 F2 F3 ../

Ben, non - tu obtiens ce delicieux message : Usage: mv <file1> <file2>
Donc un par un - je parle du terminal et du shell bash.
Quid des autres shells ... ?
--
A+
--
Romer
Avatar
romer
Francis Chartier wrote:
Euh... il y un truc qui m'échappe dans cette discussion. mv peut
évidemment déplacer plusieurs fichiers d'un coup :
mv F1 F2 F3 ../

Dans l'exemple cité, la destination est le répertoire de départ, donc
il est normal que ça coince.

Comprends pas ce qu tu veux dire par là :
mv F1 ../ fonctionne bien
mv F1 F2 ../ ne fonctionne plus et on obtinet le message :
erreur, Usage: mv <file1> <file2>
Donc si on a des dizaine de fichiers à dépalcer (ou plus) et dont les
noms ne se ressemblent pas (excluant ainsi l'usage du traitement par
lot), on est coincé - ce qui m'étonne car Unix est censé faire plus que
ce qu'offre une interface graphique - c'est du moins ce que proclament
tous les bouquins et articles sur la ligne de commande.
--
A+
--
Romer
1 2 3 4 5