Фон
В Linux вы можете:
- Перечислите группу файлов с
ls Filename*
- Удалить группу файлов с
rm Filename*
- Переместить группу файлов с помощью
mv Filename* /New/Directory
- Но вы не можете скопировать группу файлов с:
cp Filename* *.bak
Изменить cp
команду Linux для копирования группы файлов
У меня есть группа файлов, которые я хотел бы скопировать, не вводя имена по одному и используя cp
команду:
$ ls gmail-meta3*
gmail-meta3 gmail-meta3-REC-1558392194-26467821
gmail-meta3-LAB-1558392194-26467821 gmail-meta3-YAD-1558392194-26467821
Как я могу использовать что-то вроде старой команды DOS copy gmail-meta3* *.bak
?
Я не хочу набирать подобную команду четыре раза:
cp gmail-meta3-LAB-1558392194-26467821 gmail-meta3-LAB-1558392194-26467821.bak
Я ищу скрипт / функцию / приложение, которое принимает параметры для старой и новой группы имен файлов, а не что-то с жестко закодированными именами файлов. Например, пользователь может ввести:
copy gmail-meta3* *.bak
или они могут напечатать:
copy gmail-meta3* save-*
touch aa ab ba; mkdir bb; cp a* b*; ls *
*
для исходных имен файлов, но не для целевых имен файлов. В качестве альтернативы подстановочный знак (я думаю, что это ##
было предложено, но я склоняюсь %
) должен будет использоваться для цели. Я думаю, это то, что вы усиливаете? Я не ожидал изменить cp
команду вообще. Просто создайте скрипт-обертку, copy
которая будет эмулировать (в пределах разумного) команду копирования DOS.