Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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
Francis Chartier
Le Thu, 22 Dec 2016 10:51:50 +0100, (Bernd)
écrivait :
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à :

Ton message d'origine était :
Mais dès que je veux faire F1 F2 F3 ./

./ fait référence au répertoire courant, ce qui indique que tu voulais
faire un déplacement des fichiers sur eux-même...
D'où ma remarque sur le fait qu'il s'agit soit d'un résultat norm al si
c'est bien ce que tu avais essayé, soit d'une coquille dans ton é noncé,
car tu voulais écrire ../ au lieu de ./
Donc si on a des dizaine de fichiers à dépalcer (ou plus) et do nt 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é f aire 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.

C'est performant pour automatiser les traitement, encore faut-il que
les traitements soient facilement automatisables.
J'aurais tendance à dire qu'une réflexion préalable sur la f açon
d'organiser et de nommer les fichiers aurait grandement simplifié leur
traitement en aval : c'est pas magique. :)
--
Francis Chartier
Bisounours Asocial #0
Avatar
romer
Francis Chartier wrote:
Ton message d'origine était :
Mais dès que je veux faire F1 F2 F3 ./

./ fait référence au répertoire courant, ce qui indique que tu voulais
faire un déplacement des fichiers sur eux-même...
D'où ma remarque sur le fait qu'il s'agit soit d'un résultat normal si
c'est bien ce que tu avais essayé, soit d'une coquille dans ton énoncé,
car tu voulais écrire ../ au lieu de ./

Tout à fait - écrit un peu rapidement... c'est bien ../ que je faisais
et non ./
--
A+
--
Romer
Avatar
LMA
On 2016-12-20 16:51:40 +0000, Bernd said:
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 ?

Tu ne veux pas remonter tous les fichiers mais ceux que tu as décidé de
déplacer. Ci-après une copie d'écran du terminal chez moi.
LaX1:~ lionel$ cd /Users/lionel/Desktop/D/DD
LaX1:DD lionel$ ls
total 40
drwxr-xr-x 6 lionel staff 204B 22 déc 14:05 .
drwxr-xr-x 4 lionel staff 136B 22 déc 14:06 ..
-rw-r--r--@ 1 lionel staff 6,0K 22 déc 14:04 .DS_Store
-rw-r--r--@ 1 lionel staff 1B 22 déc 14:04 f1.txt
-rw-r--r--@ 1 lionel staff 1B 22 déc 14:04 f2.txt
-rw-r--r--@ 1 lionel staff 1B 22 déc 14:04 f3.txt
LaX1:DD lionel$ mv f1.txt f2.txt f3.txt /Users/lionel/Desktop/D
LaX1:DD lionel$
Les fichiers ont été déplacés du sous-dossier DD vers le dossier D.
Avatar
Jean-Pierre Kuypers
In article (Dans l'article) <585bd2c8$0$3299$,
LMA wrote (écrivait) :
LaX1:DD lionel$ mv f1.txt f2.txt f3.txt /Users/lionel/Desktop/D

Ceci devrait fonctionner aussi :
mv f*.txt ..
Pour s'assurer du choix avant le 'mv', taper :
echo f*.txt
--
Jean-Pierre Kuypers
Avatar
LMA
On 2016-12-22 13:59:51 +0000, Jean-Pierre Kuypers said:
In article (Dans l'article) <585bd2c8$0$3299$,
LMA wrote (écrivait) :
LaX1:DD lionel$ mv f1.txt f2.txt f3.txt /Users/lionel/Desktop/D

Ceci devrait fonctionner aussi :
mv f*.txt ..

Dans mon exemple oui mais Romer a indiqué que les noms de fichiers
étaient aléatoires dans le sous-dossier.
Avatar
romer
LMA wrote:
On 2016-12-20 16:51:40 +0000, Bernd said:
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 ?

Tu ne veux pas remonter tous les fichiers mais ceux que tu as décidé de
déplacer. Ci-après une copie d'écran du terminal chez moi.
LaX1:~ lionel$ cd /Users/lionel/Desktop/D/DD
LaX1:DD lionel$ ls
total 40
drwxr-xr-x 6 lionel staff 204B 22 déc 14:05 .
drwxr-xr-x 4 lionel staff 136B 22 déc 14:06 ..
-rw-r--r--@ 1 lionel staff 6,0K 22 déc 14:04 .DS_Store
-rw-r--r--@ 1 lionel staff 1B 22 déc 14:04 f1.txt
-rw-r--r--@ 1 lionel staff 1B 22 déc 14:04 f2.txt
-rw-r--r--@ 1 lionel staff 1B 22 déc 14:04 f3.txt
LaX1:DD lionel$ mv f1.txt f2.txt f3.txt /Users/lionel/Desktop/D
LaX1:DD lionel$
Les fichiers ont été déplacés du sous-dossier DD vers le dossier D.

Et oui. J'ai fait cela ce matin dans le terminal et sur le bureau du
mac et ça a marché.
Je dois donc une explication et fais partant amende honorable.
J'utilise pour faire ces manip. de mac à serveur distant le soft "lftp"
qui fait bc de chose... sauf cela. Il ne remonte bien qu'un fichier à la
fois.
J'ai donc fait mentalement un raccourci illégitime du style lftp = ftp
= ligne de commande du Mac. Ce qui ne fonctionne pas car lftp, bien que
ressemblant aux shells et utilisant pas mal de commandes Unix, n'en est
pas pour autant l'équivalent exact.
Donc mes excuses pour le dérangement.
--
A+
--
Romer
Avatar
Jerome Lambert
Le 22/12/16 à 10:51, Bernd a écrit :
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 ... ?

NUC-Hackintosh:~ jeromelambert$ pwd
/Users/jeromelambert
NUC-Hackintosh:~ jeromelambert$ mkdir test
NUC-Hackintosh:~ jeromelambert$ cd test/
NUC-Hackintosh:test jeromelambert$ touch file1
NUC-Hackintosh:test jeromelambert$ touch file2
NUC-Hackintosh:test jeromelambert$ touch file3
NUC-Hackintosh:test jeromelambert$ ls
file1 file2 file3
NUC-Hackintosh:test jeromelambert$ mv file1 file2 file3 ../
NUC-Hackintosh:test jeromelambert$ cd ..
NUC-Hackintosh:~ jeromelambert$ ls file*
file1 file2 file3
NUC-Hackintosh:~ jeromelambert$ uname -a
Darwin NUC-Hackintosh.local 15.6.0 Darwin Kernel Version 15.6.0: Wed Nov
2 20:30:56 PDT 2016; root:xnu-3248.60.11.1.2~2/RELEASE_X86_64 x86_64
Avatar
LMA
On 2016-12-22 15:35:49 +0000, Bernd said:
J'ai donc fait mentalement un raccourci illégitime du style lftp = ftp
= ligne de commande du Mac. Ce qui ne fonctionne pas car lftp, bien que
ressemblant aux shells et utilisant pas mal de commandes Unix, n'en est
pas pour autant l'équivalent exact.

Le diable se cache dans les détails ;-)
Avatar
pehache
Le 21/12/2016 à 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.

Cela n'est vrai que si le déplacement se fait entre 2 partitions
différentes. Si le fichier reste sur la même partition il n'y a de copie,
juste un changement de chemin/nom.
Avatar
Jerome Lambert
Le 22/12/16 à 16:35, Bernd a écrit :
(...)
J'ai donc fait mentalement un raccourci illégitime du style lftp = ftp
= ligne de commande du Mac. Ce qui ne fonctionne pas car lftp, bien que
ressemblant aux shells et utilisant pas mal de commandes Unix, n'en est
pas pour autant l'équivalent exact.

Du coup, pour ce genre de manipulations, mieux vaut une bonne vieille
connexion SSH qui, elle, ouvre un "vrai" terminal sur la machine distante.
1 2 3 4 5