Intereting Posts
Значительная часть используемой памяти не учитывается пользовательскими процессами Как настроить Xorg для установки динамического двойного монитора Не удалось запустить резервное копирование ядра аварийного восстановления Как сделать RHEL 6 для загрузки в текстовом режиме? понимание этой таблицы разделов DOS и клонирование на новый диск Заменить требуемые утверждения автозагрузкой в ​​файле .emacs для повышения производительности обратный порядок в csv Как я могу найти и заменить только в том случае, если совпадение составляет целое слово? Можно ли настроить ядро ​​Linux для запуска сценария пользовательского пространства, когда происходит сбой ядра? Bash – ожидаемое целочисленное выражение Как правильно подготовить сервер к сбоям питания? Что означает dd? Вывод на экран на ARM Mini2440. В настоящее время просто приглашение для входа Ограничить каталог только одним файлом? Что такое формат отладочных символов Linux?

Использование регулярных выражений с cp

Это простой вопрос. Я пытаюсь скопировать все файлы в текущем каталоге, которые начинаются с «axis-2» и заканчиваются на «.jar» в целевой каталог, скажем, это ~ / MyDirectory. Моей первой мыслью было попробовать

cp '^axis2.*jar$' ~/MyDirectory 

Но это не работает. Я даже не уверен, что могу использовать регулярные выражения с помощью cp. Я также не использовал регулярные выражения в то время, и мой синтаксис мог быть полностью отключен. Когда я пытаюсь, этот cp просто выводит сообщение об ошибке «Нет такого файла или каталога». Есть ли у кого-нибудь предложения о том, как это сделать? Благодаря!

В оболочке UNIX используются шаблоны glob , а не регулярные выражения. Итак, если вы хотите axis2 имена файлов, начиная с axis2 и заканчивая на .jar , вы используете:

 cp axis2*.jar /destination/directory 

Если у вас есть GNU find и GNU cp , вы можете использовать регулярные выражения, как в следующей команде:

 find . -maxdepth 1 -regextype posix-basic -regex '.*/axis2[^/]*jar$' \ -exec cp -t ~/MyDirectory {} + 

Это может быть удобно, если ни шаблон glob, ни bash расширенный набор шаблонов для ваших нужд.