Encontre um arquivo e execute um comando no diretório do arquivo

0

Estou tentando usar o find para encontrar um arquivo de script e, se for encontrado, executá-lo no mesmo diretório em que o encontrou.

Algo parecido com isto:

find . -name "CLEAN" -execdir "CLEAN" {} \;

exceto {} é o arquivo encontrado, o que não é o que eu quero.

    
por SFbay007 19.03.2015 / 04:50

2 respostas

1

Posso sugerir:

find . -type f -name "CLEAN" -execdir ./CLEAN \;

e em CLEAN, defina seu pwd em vez de tê-lo passado:

#!/bin/sh

MYDIR='pwd'
echo "${MYDIR}"
    
por 19.03.2015 / 05:12
0

se "CLEAN" for um arquivo de script de shell

do que este trabalho

  find . -name "CLEAN.sh" -execdir sh -c './CLEAN.sh' sh {} \;

este arquivo de comando CLEAN.sh e ele executa ao encontrar o diretório.

Espero que isso ajude você.

    
por 19.03.2015 / 08:33

Tags