Мне нужно использовать, findчтобы найти файл, соответствующий шаблону регулярных выражений, filename.extensionа не по умолчанию, который соответствует /path/to/filename.extension.
Например:
/folder
|--a-love-song.ogg
|--a-jazz-song.ogg
+--love-songs
+--a-blues-song.ogg
И я хочу найти в /folderего подкаталогах файлы с .*love.*именем файла:
debian@debian:~$ find folder -regex ".*love.*"
folder/a-love-song.ogg
folder/love-songs # Shouldn't be returned
folder/love-songs/a-blues-song.ogg # Shouldn't be returned
Я прочитал справочную страницу и понял, что есть опция -name, которая ищет только имя файла, но, похоже, не разрешает регулярное выражение и -name -regexне работает.
Я пытался использовать регулярные выражения, чтобы игнорировать путь:
debian@debian:~$ find folder -regex "\/.*love.*$"
Но это ничего не вернуло. Конечно, ls | grepбудет работать, но он не возвращает путь к файлу, который мне нужен, чтобы узнать, где находится файл.