Я хочу использовать регулярное выражение для поиска всех файлов 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]+}"