#ubuntu #unix
Как вывести файлы название которых содержит меньше пяти символов скажем?
Ответы
Ответ 1
find /your_path -type f -print| awk -F/ ' length($NF) < 5 'Ответ 2
Утилита find умеет в регулярные выражения, и можно обойтись без вызова сторонних программ. find -regextype egrep -regex '.*/.{,5}' Первые три символа в шаблоне нужны из-за того, что -regex применяется ко всему пути, а мы хотим найти файлы, анализируя лишь их имя безотносительно местоположения. Кроме того, мы задали ключ -regextype, чтобы упростить наше регулярное выражение. Обратите внимание, в регулярке мы записали пятёрку, что означает нестрогое сравнение. То есть команда выше выведет имена файлов, в которых не более пяти символов. Чтобы обеспечить точное соответсвие условию в вопросе, нужно заменить 5 на 4. (Но это уже будет не так интересно).Ответ 3
Пример с grep: find ~ -type f | grep -P '/.{5}$'
Комментариев нет:
Отправить комментарий