déplacer des fichiers d'un modèle particulier vers un autre répertoire

14

Dans le répertoire, /home/inj'ai des fichiers comme celui-ci:

crust.MC12345.txt 
crust.etcMC12345.txt
crust.MC23456.txt
crust.etcMC23456.txt 
crust.etctcMC23456.txt 

Je n'ai besoin que de me déplacer crust.etcMC12345.txtet crust.etcMC23456.txtdans un autre /home/outrépertoire . Quel est le modèle que j'utilise dans la commande mv pour le scénario ci-dessus?

user86683
la source
1
Le schéma n'est pas clair. Pourriez-vous modifier votre question pour inclure des noms de fichiers qui correspondent et d'autres qui ne correspondent pas?
user000001
lorsque j'utilise pattern crust. * MC * .txt dans la commande mv, il déplace les 4 fichiers là où je n'ai besoin que de crust.etcMC12345.txt et crust.etcMC23456.txt
user86683
Alors pourquoi ne pas le faire mv crust.etc* dest/?
user000001
j'ai essayé et cela a fonctionné. Merci beaucoup. mais que faire si vous ne savez pas combien de littéraux y a-t-il avant MC comme etctMC123.txt et etctcMC125.txt
user86683
1
J'ai essayé de mettre à jour votre Q, pouvez-vous s'il vous plaît prendre quelques instants et aider tout le monde à vous aider? Il n'est pas clair quels fichiers vous avez et quels fichiers vous souhaitez déplacer.
slm

Réponses:

19

Si je comprends bien votre question, la réponse est très simple:

mv crust.etcMC* /home/out

ou si etcn'est pas une chaîne littérale, mais par exemple trois caractères quelconques, alors:

mv crust.???MC* /home/out
jimmij
la source
j'ai également d'autres fichiers avec des noms comme crust.tecMC12345.txt crust.etcMC1232.txt et ainsi de suite
user86683
Veuillez consulter l'édition de ma réponse et spécifier précisément les fichiers dont vous disposez.
jimmij
crust.etcMC123.txt, crust.tecMC234.txt, crust.cetMC345.txt, crust.MC123.txt sont quelques exemples de fichiers dans mon répertoire comment puis-je uniquement les fichiers mv avec des noms crust.tecMCxxx.txt donc crust.xxMCxxx.txt x est variable
user86683
4
Ceci est incompatible avec votre question ci - dessus: i need files with names crust.etcMC.xyz. Et maintenant vous dites do i only mv files with names crust.tecMCxxx.txt. Alors , voulez - vous déplacer uniquement crust.etcMC*ou crust.tecMC*ou les deux, ou aucun des deux? Ne vous précipitez pas avec la réponse, prenez votre temps, modifiez la question en prenant soin de la mise en forme appropriée et expliquez précisément ce que vous voulez.
jimmij
1

Si vous souhaitez déplacer des fichiers contenant au moins un caractère entre crust.et MCvous pouvez utiliser

mv crust.?*MC /home/out

Ici ?représente un littéral et *zéro ou plus, et donc la combinaison ?*représente un ou plusieurs caractères. Il sautera donc des fichiers comme crust.MC12345.txt.

ttq
la source
Je ne sais pas pourquoi le downvote, car il me semble que c'est la bonne réponse à la question qui est éclairée dans le deuxième commentaire du PO après la question.
2017