В моей школе мне нужно искать все файлы, которые начинаются с числа. Раньше я пытался поискать в Интернете, но не нашел ответа. Мне нужно использовать команду find
.
Вопрос: есть ли на сервере файлы, начинающиеся с номера? Если да, можете ли вы их перечислить?
Ответ - да, есть (потому что он хочет, чтобы мы перенаправили ошибку 2> / dev / null)
Я пробовал разные вещи, но ничего не работало. Ближе всего к ответу я подошла к этой командной строке
find /home | grep '[0-9]'
. Чтобы получить номер первым, я подумал, что мне просто нужно поставить ^
перед [0-9]
, но это не так. не работает.
Кто-нибудь может мне помочь?
find . -type f -regex ".*/[0-9]*"
Регекс выполняется по всему пути, поэтому вам нужно включить .*/
.
sudo find / -type f -regex ".*/[0-9]*"
если вы хотите, чтобы это было для всей файловой системы.
При поиске шаблона в Linux часто можно использовать регулярное выражение ( regex ). Большинство команд unix, относящихся к поиску, позволят вам их использовать. Имея это в виду, вы можете поискать термин в руководстве: man find
. Команда find
позволяет использовать регулярное выражение с флагом -regex
.
Чтобы ответить на ваш конкретный вопрос:
find . -type f -regex '.*/[0-9][^/]*$'
Сгодится. Но если вы просмотрите руководство, вы, вероятно, найдете другие способы добиться того же результата.