Как я могу найти файлы с «log. [One or more digitits of numbers]»?Найти файлы с расширениями, состоящими только из цифр
У меня есть список файлов в каталоге журнала:
/user/log/log.1
/user/log/log.222
/user/log/log.201505
/user/log/log.2014.gz
Я хочу GZIP файлы, заканчивается только с числами, а затем переместить их в папку Бака:
/user/bak/log.1.gz
/user/bak/log.222.gz
/user/bak/log.201505.gz
Is там любой способ включить шаблон (журнал. [0-9] *) и исключить расширения, отличные от номеров, в то же время с использованием найти/ls/grep и т. Д.?
Кроме того, мое дело требует от меня, чтобы выполнить резервное копирование журналов выше на других серверах тоже я просто использовать
ssh $SERVER "command1;command2;..."
, чтобы сделать работу, даже с петлями?
Спасибо.
К сожалению, получается, '-E' от BSD находки. Если это сработает для вас без него, тогда отлично, иначе вы можете посмотреть [флаг -regextype] (http://www.gnu.org/software/findutils/manual/html_mono/find.html#Regular-Expressions) , –
Спасибо за ваш ответ, но приведенная выше команда возвращает 'find: unknown predicate' -E''. Он работает отлично без -E. Не могли бы вы объяснить немного больше о том, что есть. */Перед входом в регулярное выражение? – haust
@haust Регулярное выражение должно соответствовать всему пути, который включает префикс '/ user/log' в этом случае. '. * /' говорит, что соответствует чему-либо до последней косой черты. Вы также можете просто написать '-regex '/ user/log/log \. [0-9] +'' в этом случае. –