"제거된" 일반 파일을 모두 찾아서 실행하는 방법은 무엇입니까?

"제거된" 일반 파일을 모두 찾아서 실행하는 방법은 무엇입니까?

파일이 여러 개 있습니다 uninstall. 전부 찾아서 하나씩 처형하겠습니다. 나는 find와 exec 조합을 알고 있으므로 시도해 보았습니다.

find . -name uninstall -exec {}\;

하지만 이로 인해 다음과 같은 오류가 발생합니다.

find: missing argument to `-exec'

일반 파일이므로 매개변수를 제공할 수 없습니다. 난 그냥 터미널에서 이것을 실행

./uninstall

이 파일을 어떻게 찾고 실행할 수 있나요?

답변1

실행 중인 명령의 끝 위치를 ;알려주는 별도의 매개변수 여야 합니다 .find

find . -name uninstall -type f -exec {} \;

일부 find구현 의 경우 실제로 실행 가능한 파일만 실행되도록 -executable사전에 조건자를 추가 할 수 있습니다.-exec

답변2

파일을 시작하려면 쉘을 지정해야 합니다. 예를 들어

find . -name uninstall -exec sh {} \;

또는

find . -name uninstall -exec bash {} \;

답변3

통과하다찾다+껍데기관로:

find . -name uninstall | sh

관련 정보