I found I asked this question on the wrong stackexchange site.
To find files starting from a certain path, I can use
find <path> .... If I want to find 'upwards', i.e. in the parent directory, and it's parent, and..., is there an equivalent tool?
The use case is knowing the right number of dots (../../x.txt or ../../../x.txt?) to use in e.g. a makefile including some common makefile functions somewhere upstream.
Intended usage for a folder structure like this:
/ /abc /abc/dce/efg/ghi /abc/dce/efg2 $ cd /abc/dce/efg/ghi $ touch ../../x.txt $ upfind . -name X* ../../x.txt $ upfind . -name Y* || echo "not found" not found $ touch /abc/dce/efg2/x.txt $ upfind . -name Y* || echo "not found" not found $
So in short:
- it should search on this folder, it's parent, it's parent's parent...
- but not in any of their siblings (like 'find' would)
- it should report the found file(s) relative to the current path