Назад | Перейти на главную страницу

Centos находит файлы coredump

Я хочу использовать регулярное выражение для поиска всех файлов coredump в каталоге. Шаблон имени файла core.1234

find /public_html -type f -regextype sed -regex "core.{[0-9]+:[0-9]+}"

Пожалуйста посоветуй.

Вы пропустили некоторую информацию о том, как работает -regex

-regex шаблон
Имя файла соответствует шаблону регулярного выражения. Это совпадение на всем пути, а не поиск. Например, чтобы сопоставить файл с именем ./fubar3', you can use the regular expression.*бар.' или .*b.*3', but notе. * r3 '. Регулярные выражения, понимаемые командой find, по умолчанию являются регулярными выражениями Emacs, но это можно изменить с помощью параметра -regextype.

В частности, регулярное выражение должно соответствовать всему пути. Вам не нужно изменять тип регулярного выражения или даже указывать -regex

find /public_html  -name "core.[0-9][0-9][0-9][0-9]"

делает свое дело и находит файлы ядра на любом уровне ниже / public_html.

find /public_html -type f -regextype sed -regex "/public_html/core.[0-9]\+"

РЕДАКТИРОВАТЬ: добавлен пример

$ ls public_html/
core.asdd  core.1asd  core.123  core.1234  core.12362  core.1456 core.8452

$ find /public_html -type f -regextype sed -regex "/public_html/core.[0-9]\+"
/public_html/core.123
/public_html/core.1234
/public_html/core.1456
/public_html/core.12362
/public_html/core.8452

/ public_html является частью пути, поэтому попробуйте find /public_html -type f -regextype sed -regex ".*/core.{[0-9]+:[0-9]+}"