1

У меня есть несколько каталогов с числовыми именами между 1 и 1500, и я хотел использовать команду find чтобы найти только те из них, которые находятся в диапазоне от 1250 до 1500, это регулярное выражение должно делать это: [1][2-5][0-9][0-9] поэтому выполнили эту команду:

find . -regextype sed -regex "[1][2-5][0-9][0-9]"

Но find ничего не находит, я что-то делаю не так?

1 ответ1

1

От man 1 find [выделение мое]:

-regex pattern
Имя файла соответствует шаблону регулярного выражения. Это совпадение на всем пути, а не поиск. Например, чтобы сопоставить файл с именем ./fubar3 , вы можете использовать регулярное выражение .*bar. или .*b.*3 , но не f.*r3 .

Так что это найдет что-то:

find . -regextype sed -regex ".*/1[2-5][0-9][0-9]"

Примечание [1][2-5][0-9][0-9] вы использовали, охватывает диапазон 1200-1599. [1] может быть только 1 как в моем примере.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .