Contexte
Sous Linux, vous pouvez:
- Liste un groupe de fichiers avec
ls Filename*
- Supprimer un groupe de fichiers avec
rm Filename*
- Déplacer un groupe de fichiers avec
mv Filename* /New/Directory
- Mais vous ne pouvez pas copier un groupe de fichiers avec:
cp Filename* *.bak
Modifier la cp
commande Linux pour copier un groupe de fichiers
J'ai un groupe de fichiers que je voudrais copier sans entrer les noms un par un et en utilisant la cp
commande:
$ ls gmail-meta3*
gmail-meta3 gmail-meta3-REC-1558392194-26467821
gmail-meta3-LAB-1558392194-26467821 gmail-meta3-YAD-1558392194-26467821
Comment puis-je utiliser quelque chose comme l'ancienne commande DOS copy gmail-meta3* *.bak
?
Je ne veux pas taper quatre fois une commande similaire:
cp gmail-meta3-LAB-1558392194-26467821 gmail-meta3-LAB-1558392194-26467821.bak
Je cherche un script / une fonction / une application qui accepte des paramètres pour l'ancien et le nouveau groupe de noms de fichiers et non quelque chose avec des noms de fichiers codés en dur. Par exemple, un utilisateur peut taper:
copy gmail-meta3* *.bak
ou ils pourraient taper:
copy gmail-meta3* save-*
touch aa ab ba; mkdir bb; cp a* b*; ls *
*
pour les noms de fichiers source mais pas pour les noms de fichiers cibles. En tant que tel, le caractère générique de remplacement (je pense que cela a ##
été suggéré mais je me penche vers %
) devra être utilisé pour la cible. Je pense que c'est ce que vous renforcez? Je ne m'attendais pas du tout à changer la cp
commande. Créez simplement un script wrapper appelé copy
qui émule (dans des limites raisonnables) la commande de copie DOS.