Это простой вопрос. Я пытаюсь скопировать все файлы в текущем каталоге, которые начинаются с «axis-2» и заканчиваются на «.jar», в целевой каталог, скажем, это ~ / MyDirectory. Моей первой мыслью было попробовать
cp '^axis2.*jar$' ~/MyDirectory
Но это не работает. Я даже не уверен, что могу использовать регулярные выражения с cp. Я также действительно не использовал регулярные выражения некоторое время, и мой синтаксис мог быть полностью выключен. Когда я пытаюсь этот cp просто выводит сообщение об ошибке «Нет такого файла или каталога». У кого-нибудь есть предложения, как это сделать? Спасибо!
regular-expression
cp
Ник Ван Хугенстин
источник
источник
Если у вас есть GNU
find
и GNUcp
, вы можете использовать регулярные выражения, как в следующей команде:Это может быть удобно, если ни шаблон глобуса, ни шаблон расширенного глобуса bash не соответствуют вашим потребностям.
источник
Мне очень нравится синтаксис регулярных выражений
rename
сценария perl (Робин Баркер и Ларри Уолл), например:Я просто хотел сделать то же самое с помощью команды копирования:
copy "s/OldFile/NewFile/" OldFile*
Поэтому я продублировал этот скрипт и изменил оператор переименования для копирования через
File::Copy
. И вуаля! Команда копирования с синтаксисом perl-regex: jcward / vopy .источник