mover arquivos de um padrão específico para outro diretório


14

No diretório /home/ineu tenho arquivos como este:

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

Eu só preciso mover crust.etcMC12345.txte crust.etcMC23456.txtpara outro diretório. /home/outQual é o padrão que eu uso no comando mv para o cenário acima?


1
O padrão é um pouco obscuro. Você pode editar sua pergunta para incluir alguns nomes de arquivos que correspondam e outros que não correspondam?
— user000001

quando eu uso padrão crosta * MC * .txt em mv comandar ele está se movendo todos os 4 arquivos onde, como eu só preciso crust.etcMC12345.txt e crust.etcMC23456.txt.
— user86683

Então por que não fazer mv crust.etc* dest/?
— user000001

eu tentei e funcionou. Muito obrigado. mas o que se u não sei quantas literais estão ali diante da MC como etctMC123.txt e etctcMC125.txt
— user86683

1
Tentei atualizar o seu Q. Você pode, por favor, tirar alguns momentos e ajudar todos a ajudá-lo? Não está claro quais arquivos você possui e quais arquivos você deseja mover.
— slm

Respostas:


19

Se entendi corretamente a sua pergunta, a resposta é muito simples:

mv crust.etcMC* /home/out

ou se etcnão for uma cadeia literal, mas, por exemplo, quaisquer três caracteres:

mv crust.???MC* /home/out

Eu também tenho outros arquivos com nomes como crust.tecMC12345.txt crust.etcMC1232.txt e assim por diante
— user86683 4/14

Por favor, veja a edição da minha resposta e especifique com precisão quais arquivos você possui.
— jimmij

crust.etcMC123.txt, crust.tecMC234.txt, crust.cetMC345.txt, crust.MC123.txt são alguns arquivos de amostra no meu diretório, como faço para apenas arquivos mv com nomes crust.tecMCxxx.txt, para crust.xxMCxxx.txt x é variável
— user86683

4
Isso é incompatível com a sua pergunta acima: i need files with names crust.etcMC.xyz. E agora você está dizendo do i only mv files with names crust.tecMCxxx.txt. Então você quer mover apenas crust.etcMC*ou crust.tecMC*ou ambos, ou nenhum dos dois? Por favor, não se apresse com a resposta, não se apresse, edite a pergunta cuidando da formatação adequada e explique exatamente o que deseja.
— jimmij

1

Se você deseja mover arquivos com pelo menos um caractere crust.e MCpode usar

mv crust.?*MC /home/out

Aqui ?significa um literal e *zero ou mais, e, portanto, a combinação ?*representa um ou mais caracteres. Portanto, pulará arquivos como crust.MC12345.txt.


Não sei por que o voto negativo, pois me parece que esta é a resposta correta para a pergunta que é esclarecida no segundo comentário do OP após a pergunta.
— ttq
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.