переместить файлы определенного шаблона в другой каталог

14

В каталоге у /home/inменя есть такие файлы:

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

Мне нужно только переместиться crust.etcMC12345.txtи crust.etcMC23456.txtв другой /home/outкаталог. Какой шаблон я использую в команде mv для приведенного выше сценария?

user86683
источник
1
Картина немного неясна. Не могли бы вы отредактировать свой вопрос, включив в него некоторые имена файлов, которые будут совпадать, а некоторые - нет?
user000001
когда я использую шаблон crust. * MC * .txt в команде mv, он перемещает все 4 файла, где мне нужны только crust.etcMC12345.txt и crust.etcMC23456.txt
user86683
Тогда почему бы не сделать mv crust.etc* dest/?
user000001
Я пытался, и это сработало. большое спасибо. но что если вы не знаете, сколько литералов существует до MC, например etctMC123.txt и etctcMC125.txt
user86683
1
Я пытался обновить ваш вопрос, не могли бы вы занять несколько минут и помочь всем помочь вам? Не ясно, какие файлы у вас есть, и какие файлы вы хотите переместить.
СЛМ

Ответы:

19

Если я правильно понимаю ваш вопрос, ответ очень прост:

mv crust.etcMC* /home/out

или если etcэто не буквальная строка, а, например, любые три символа, то:

mv crust.???MC* /home/out
jimmij
источник
у меня также есть другие файлы с именами, такими как crust.tecMC12345.txt crust.etcMC1232.txt и т. д.
user86683
Пожалуйста, посмотрите редактирование моего ответа и укажите, какие именно файлы у вас есть.
Джимми
crust.etcMC123.txt, crust.tecMC234.txt, crust.cetMC345.txt, crust.MC123.txt - это несколько примеров файлов в моем каталоге, как мне только mv файлы с именами crust.tecMCxxx.txt, так crust.xxMCxxx.txt x является переменным
user86683
4
Это несовместимо с Вашим вопросом выше: i need files with names crust.etcMC.xyz. А теперь ты говоришь do i only mv files with names crust.tecMCxxx.txt. Так ты хочешь двигаться только crust.etcMC*или crust.tecMC*или и то, или другое? Пожалуйста, не спешите с ответом, не торопитесь, отредактируйте вопрос, заботясь о правильном форматировании, и объясните точно, что вы хотите.
Джимми
1

Если вы хотите переместить файлы, содержащие хотя бы один символ, crust.и MCвы можете использовать

mv crust.?*MC /home/out

Здесь ?обозначает один литерал и *ноль или более, и, следовательно, комбинация ?*обозначает один или несколько символов. Поэтому он будет пропускать файлы, как crust.MC12345.txt.

ttq
источник
Не уверен, почему понизили голос, так как мне кажется, что это правильный ответ на вопрос, который освещается во втором комментарии ОП после вопроса.
ttq