2014-07-09 3 views
1

파일의 위치를 ​​찾아야합니다. 전체 시스템을 검색하고 싶지 않고 찾고있는 파일이 특정 패키지와 관련된 디렉토리에 있다는 것을 알고 있습니다.다른 명령의 출력에서 ​​파이프 된 디렉토리 목록에서 파일 찾기

그래서 dpkg -L package_name 명령에서 반환되는 모든 dir에 find dir -name "filename" > find.out을하고 싶습니다.

어떻게하면됩니까? 나는 파이핑과 xargs 유용 할 것이라고 생각하지만 xargsfind 명령에서 조회 할 수있는 방법을 모르겠습니다.

답변

3
find $(dpkg -L package_name) -name "filename" > find.out 
2

당신은 할 수 있습니다 :

#!/bin/bash 
readarray -t DIRS < <(exec dpkg -L package_name) ## Store file list to an array. 
find "${DIRS[@]}" -name "filename" > find.out ## Search all at once. 

실행

bash script.sh 

아니면 어쨌든 하나 개의 라인을 수행

readarray -t DIRS < <(exec dpkg -L package_name); find "${DIRS[@]}" -name "filename" > find.out