Como procurar * para cima * por arquivo? (encontrar reverso)

3

Gostaria de pesquisar "para cima" por um arquivo no shell script, por exemplo verifique $ PWD, $ PWD / .., depois $ PWD / .. / .., etc. até atingir a raiz. Antes de eu ir e rolar o meu próprio, há alguma magia bash / zsh / find que vai fazer isso por mim?

    
por Joseph Garvin 24.02.2012 / 19:22

2 respostas

2

Bem, eu não tenho idéia de como fazer isso em zsh desde que eu uso o bash: mas eu tentei este forro

START=$PWD; while [ $PWD != "/" ]; \
do ls|grep file && echo $PWD ;cd ..; done ; cd $START

Se você quiser parar quando encontrar algo que possa usar:

START=$PWD; while [ $PWD != "/" ]; do \
ls|grep file && echo $PWD && cd $START && break;cd ..; done

Tanto quanto eu sei, não existe essa ferramenta que poderia fazer isso.

    
por 24.02.2012 / 22:50
0

Usando os recursos internos do shell:

(while [[ ! -f $file ]] && [[ $PWD != / ]]; do \cd ..; done;
if [[ -f $file ]];then echo $PWD/$file;fi)
    
por 04.03.2014 / 22:46