sfondo
In Linux puoi:
- Elencare un gruppo di file con
ls Filename*
- Rimuovere un gruppo di file con
rm Filename*
- Sposta un gruppo di file con
mv Filename* /New/Directory
- Ma non puoi copiare un gruppo di file con:
cp Filename* *.bak
Modifica il cp
comando Linux per copiare un gruppo di file
Ho un gruppo di file che vorrei copiare senza inserire i nomi uno per uno e usando il cp
comando:
$ ls gmail-meta3*
gmail-meta3 gmail-meta3-REC-1558392194-26467821
gmail-meta3-LAB-1558392194-26467821 gmail-meta3-YAD-1558392194-26467821
Come posso usare qualcosa come il vecchio comando DOS copy gmail-meta3* *.bak
?
Non voglio digitare un comando simile quattro volte:
cp gmail-meta3-LAB-1558392194-26467821 gmail-meta3-LAB-1558392194-26467821.bak
Sto cercando uno script / funzione / app che accetti i parametri per il vecchio e il nuovo gruppo di nomi di file e non qualcosa con nomi di file codificati. Ad esempio, un utente può digitare:
copy gmail-meta3* *.bak
o potrebbero digitare:
copy gmail-meta3* save-*
touch aa ab ba; mkdir bb; cp a* b*; ls *
*
per i nomi dei file di origine ma non per i nomi dei file di destinazione. Come jolly sostitutivo (credo sia ##
stato suggerito ma mi sto sporgendo verso %
) dovrà essere usato per il bersaglio. Penso che questo sia ciò che stai rafforzando? Non mi aspettavo di cambiare il cp
comando. Basta creare uno script wrapper chiamato copy
che emulava (entro limiti ragionevoli) il comando di copia DOS.