cd "$(find . -name filename -printf %h -quit 2>/dev/null)"
Если файл с таким именем не найден, то cd
переходит в домашний каталог. Если это не нужно, вам нужно что-то вроде этого:
dir="$(find . -name filename -printf %h -quit 2>/dev/null)"
test -d "$dir" && cd "$dir"