Я использую find для задачи, и я заметил, что когда я делаю что-то вроде этого:
find `pwd` -name "file.ext" -exec echo $(dirname {}) \;
он даст вам точки только для каждого матча. Когда вы заменяете dirname на basename в этой команде, вы получаете полные пути. Я что-то прикручиваю здесь или это ожидаемое поведение? Я привык к basename, давая вам имя файла (в данном случае file.ext) и dirname, давая вам остальную часть пути.