С GNUfind
:
find. -regextype egrep -regex '.*/([^/]+)/\1\.pdf'
-regextype egrep
используйте регулярное выражение в стиле egrep. .*/
совпадают с главными родительскими директориями. ([^/]+)/
соответствует родительскому каталогу в группе. \1\.pdf
используйте backreference
для сопоставления имени файла с родительским каталогом. обновление
Один (сам за одного )может подумать, что .*
достаточно жадный, нет необходимости исключать /
из сопоставления родителей:
find. -regextype egrep -regex '.*/(.+)/\1\.pdf'
Вышеупомянутая команда не будет работать, потому что она соответствует./a/b/a/b.pdf
:
.*/
соответствует./
(.+)/
соответствуетa/b/
\1.pdf
соответствуетa/b.pdf