197 votes

Comment déplacer plusieurs fichiers à la fois vers un répertoire de destination spécifique ?

J'ai un tas de fichiers dans un répertoire (ainsi que de nombreux autres fichiers) que je veux déplacer.

Heureusement, tous les fichiers que je veux déplacer contiennent un certain identifiant dans leur nom, je peux donc ls | grep IDENTIFIER pour obtenir la liste exacte des fichiers à déplacer.

Mais, comment puis-je exécuter mv file /path/to/dest/folder/ en une seule fois, et non pas un par un (il y a beaucoup de fichiers à déplacer) ?

3voto

Mano Sriram Points 31

Vous pouvez utiliser find y -exec comme ça :

find . -name "Identifier" -exec echo mv {} <destination_path> \;

2voto

Shimon Amit Points 113

Vous pouvez utiliser la sortie de ls en tant que contribution à la mv commnad :

mv $(ls | grep IDENTIFIER) /path/to/dest/dir

La commande entre $() renvoie une liste des noms de fichiers correspondant à votre recherche, et qui peut être fournie comme paramètre pour la fonction mv commandement.

1voto

Cette commande vous permet de déplacer plusieurs fichiers :

mv SourceFilenames ~DestinationPath

0voto

nehem Points 113

Si vous utilisez fish Shellla plupart des choses sont heureuses. Donc c'est simple, il suffit de saisir la destination comme le dernier fichier.

mv file1 file2 file3 DESTINATION

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X