найти точечные файлы длиной до 7 символов - PullRequest
0 голосов
/ 28 марта 2020

Я попробовал это:

find . \( -name ".?" -o -name ".??" -o -name ".???" -o -name ".????" -o -name ".?????" -o -name ".??????" \)

, но это не сработало

Ответы [ 2 ]

1 голос
/ 28 марта 2020

Вы можете сделать это по-своему, явно указав все возможные комбинации. Но это громоздко, когда у вас их много, или когда вам нужно изменить их. Для этого есть более простые параметризованные способы.

Одним из способов будет использование регулярных выражений:

find . -regextype posix-egrep -regex ".*/\..{1,7}"

Если ваша находка не поддерживает регулярные выражения, другим простым способом будет фильтрация вывод find с помощью awk:

find . -name ".*" | awk -F"/" 'length($NF)<8 {print}'
0 голосов
/ 28 марта 2020

Ваша команда работает нормально. Но есть более короткие альтернативы. Например:

find . -name '.*' ! -name '.???????*'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...