find /etc -maxdepth 1 -regextype egrep -regex '.*/.{3}$'
Это позволит найти в /etc/
имена файлов или каталогов длиной ровно 3 символа.
find /etc -maxdepth 1 -regextype egrep -regex '.*/.{3,}$'
И это найдет файлы или каталоги в /etc/
, которые имеют минимальную длину 3 символа.
find /etc -maxdepth 1 -regextype egrep -regex '.*/.{3,7}$'
И это найдет файлы или каталоги в /etc
, которые имеют длину от 3 до 7 символов.
Параметр -maxdepth 1
предотвращает поиск подкаталогов -каталога /etc.
Если вы хотите ограничить поиск только каталогами, добавьте -type d
после -maxdepth 1
. Для обычных файлов используйте -type f
.
Если вы собираетесь что-то делать с найденными файлами/каталогами, вы можете использовать опцию find -exec
. например.
find /etc -maxdepth 1 -regextype egrep -regex '.*/.{3,7}$' -exec du -sch {} +
или xargs
(, но используйте разделители NUL, чтобы избежать проблем с пробелами, новыми строками и т. д. в именах файлов ). Это позволяет вам использовать любой инструмент, который может обрабатывать ввод, разделенный NUL -, в конвейере до xargs
. например.:
find /etc -maxdepth 1 -regextype egrep -regex '.*/.{3,7}$' -print0 |
head -z -n 10 |
xargs -0r ls -ld
Solaris использует для этого опцию cp -p
. Как /usr/bin/cp
, так и /usr/xpg4/bin/cp
имеют эту опцию, согласно справочной странице Oracle в Интернете.
Linux cp -a
эквивалентен -dR --preserve=all
, поэтому вам может потребоваться найти дополнительные параметры для ссылок и рекурсивных функций.