Я пытаюсь найти все длинные имена файлов в каталоге с помощью:Найти длинные имена файлов, используя GNU найти -regex
find . -regex './[^/]\{5,\}.txt'
В соответствии с GNU найти документацию, -regex использует регулярное выражение Emacs по умолчанию. Таким образом, это должно дать мне все файлы длиной более 5 символов (исключая расширение). К сожалению, это не сработает. Он ничего не соответствует. Я пробовал различные варианты этой темы, но безрезультатно. Есть идеи? Находит ли GNU просто не поддержку квалификатора повторения?
Помните, что '.' является регулярное выражение метасимволом, так что это должно быть' -regex '\ ./ [^ /] {5} \. Txt'' (да, первый '.' Безразлично' t нужна обратная косая черта в этом конкретном случае, но вы действительно хотите подумать, почему каждый раз, когда вы смотрите на команду?). И поскольку вы не смотрите внутрь подкаталогов, добавьте '-maxdepth 1', это сэкономит много времени, если есть много подкаталогов. – Gilles