Попытка найти файлы, начинающиеся с числа

В моей школе мне нужно искать все файлы, которые начинаются с числа. Раньше я пытался поискать в Интернете, но не нашел ответа. Мне нужно использовать команду find .

Вопрос: есть ли на сервере файлы, начинающиеся с номера? Если да, можете ли вы их перечислить?

Ответ - да, есть (потому что он хочет, чтобы мы перенаправили ошибку 2> / dev / null)

Я пробовал разные вещи, но ничего не работало. Ближе всего к ответу я подошла к этой командной строке

find /home | grep '[0-9]'

. Чтобы получить номер первым, я подумал, что мне просто нужно поставить ^ перед [0-9] , но это не так. не работает.

Кто-нибудь может мне помочь?

0
задан 20 April 2021 в 11:37

2 ответа

find . -type f -regex ".*/[0-9]*"

Регекс выполняется по всему пути, поэтому вам нужно включить .*/.

sudo find / -type f -regex ".*/[0-9]*"

если вы хотите, чтобы это было для всей файловой системы.

0
ответ дан 23 April 2021 в 23:21

При поиске шаблона в Linux часто можно использовать регулярное выражение ( regex ). Большинство команд unix, относящихся к поиску, позволят вам их использовать. Имея это в виду, вы можете поискать термин в руководстве: man find . Команда find позволяет использовать регулярное выражение с флагом -regex .

Чтобы ответить на ваш конкретный вопрос:

find . -type f -regex '.*/[0-9][^/]*$'

Сгодится. Но если вы просмотрите руководство, вы, вероятно, найдете другие способы добиться того же результата.

0
ответ дан 23 April 2021 в 23:21

Другие вопросы по тегам:

Похожие вопросы: