Как искать имена файлов, которые содержат номер в определенном месте в Bash - PullRequest
3 голосов
/ 31 октября 2011

Как мне убедиться, что после имени файла есть номер в find? Концептуально:

find ./directory -name filename{number}.temp 

Если я введу

find ./directory -name filename'[0-9]'*.temp

он также даст мне имена файлов в форме filename'[0-9]'text.temp.

Ответы [ 2 ]

3 голосов
/ 31 октября 2011
find ./directory -regex '.*/filename[0-9][0-9]*\.temp'

Обратите внимание, что -regex соответствует всему пути, а не только имени файла.

1 голос
/ 31 октября 2011

Старые версии Unix find не поддерживают регулярные выражения или глобусы в стиле Kornshell. Вы можете использовать либо "?" или "*" в вашем глобусе, но это все. Команда find в Linux и Mac действительно имеет выражение -regex.

Если ваша команда find не совместима с GNU и не имеет параметра -regex, вам необходимо передать вывод в grep:

find ./directory -name 'filename*.temp' | grep '/filename[0-9].temp$'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...