sposta i file di un modello particolare in un'altra directory


14

Nella directory /home/inho file come questo:

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

Ho solo bisogno di spostare crust.etcMC12345.txte crust.etcMC23456.txtin un'altra /home/outdirectory , qual è il modello che uso nel comando mv per lo scenario sopra?


1
Il modello non è chiaro. Potresti modificare la tua domanda per includere alcuni nomi di file che corrisponderebbero e altri che non corrisponderebbero?
user000001

quando uso pattern crust. * MC * .txt nel comando mv si sposta tutti e 4 i file dove ho solo bisogno di crust.etcMC12345.txt e crust.etcMC23456.txt
user86683

Allora perché non farlo mv crust.etc* dest/?
user000001

ho provato e ha funzionato. molte grazie. ma cosa succede se non sai quanti letterali ci sono prima di MC come etctMC123.txt e etctcMC125.txt
user86683

1
Ho provato ad aggiornare la tua Q, puoi per favore dedicare qualche istante e aiutare tutti ad aiutarti? Non è chiaro quali file hai e quali file desideri spostare.
slm

Risposte:


19

Se capisco correttamente la tua domanda, la risposta è molto semplice:

mv crust.etcMC* /home/out

o se etcnon è una stringa letterale, ma ad esempio tre caratteri qualsiasi:

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

ho anche altri file con nomi come crust.tecMC12345.txt crust.etcMC1232.txt e così via
user86683

Vedi la modifica della mia risposta e specifica con precisione quali file hai.
Jimmij,

crust.etcMC123.txt, crust.tecMC234.txt, crust.cetMC345.txt, crust.MC123.txt sono alcuni file di esempio nella mia directory come posso fare solo i file mv con i nomi crust.tecMCxxx.txt così crust.xxMCxxx.txt x è variabile
user86683

4
Ciò è incompatibile con la vostra domanda di cui sopra: i need files with names crust.etcMC.xyz. E ora stai dicendo do i only mv files with names crust.tecMCxxx.txt. Quindi vuoi muoverti solo crust.etcMC*o crust.tecMC*o entrambi, o nessuno dei due? Per favore non affrettarti con la risposta, prenditi il ​​tuo tempo, modifica la domanda occupandoti della corretta formattazione e spiega esattamente cosa vuoi.
Jimmij,

1

Se vuoi spostare file con almeno un carattere tra crust.e MCpuoi usare

mv crust.?*MC /home/out

Qui ?sta per letterale e *per zero o più, e quindi la combinazione ?*sta per uno o più caratteri. Quindi salterà i file come crust.MC12345.txt.


Non so perché il downvote, dal momento che mi sembra che questa sia la risposta corretta alla domanda che è illuminata nel secondo commento del PO dopo la domanda.
ttq,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.