![수천 개의 파일을 처리하는 동안 Find 명령이 종료되었습니다.](https://linux55.com/image/206810/%EC%88%98%EC%B2%9C%20%EA%B0%9C%EC%9D%98%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%B2%98%EB%A6%AC%ED%95%98%EB%8A%94%20%EB%8F%99%EC%95%88%20Find%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EC%A2%85%EB%A3%8C%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
osmium
수천 개의 OSC 변경 세트 파일에서 PBF를 생성하는 도구를 사용하려고 합니다. Jenkins를 사용하여 이 작업을 수행하기 위해 Bash 스크립트를 작성했습니다.
- 모든 OSC 파일을 하나의 마스터 OSC 파일로 병합합니다.
- 이 OSC는 PBF에 적용됩니다.
그런데 한꺼번에 많은 수의 OSC 파일을 마스터에 병합하려고 하면 문제가 발생합니다. 나는 다음 명령을 사용합니다
osmium merge-changes -v -o $destination/all-"$execution_tag".osc.gz $(find $_osc -name '*.osc') --overwrite
그러나 이 명령은 12,000개가 넘는 파일이 포함된 대규모 디렉터리를 처리하려고 하면 운영 체제에 의해 종료됩니다.
모든 파일을 재귀적으로 찾으려는 디렉토리와 하위 디렉토리가 많으며 *.osc
때로는 파일이 너무 많아서 다음 오류가 발생합니다.
[ 0:01] Opening output file...
[ 0:01] Reading change file contents...
***/tmp/jenkins91826773077502863.sh: line 36: 329085 Killed osmium merge-changes -v -o $_osc_processor/all-"$execution_tag".osc.gz $(find $_osc -name '*.osc') --overwrite***
applying master osc change file to pbf ::
이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 디렉터리와 하위 디렉터리의 모든 파일을 재귀적으로 찾는 다른 방법이 있습니까?
find
전역 검색( )으로 바꾸려고 시도했지만/*/*.osc
여전히 종료됩니다.- 현재 파일이 포함된 여러 하위 디렉터리가 있는 상위 디렉터리에서 이 명령을 실행하려고 합니다. 각 하위 디렉터리에 대해 수동으로 수행하면 제대로 작동하는 것 같습니다.
- 특정 경로를 입력으로 받은 경우 해당 경로 내의 모든 하위 디렉터리를 검색할 수 있고 하위 디렉터리가 존재하는 경우 각 하위 디렉터리에서 개별적으로 이 명령을 실행할 수 있는 방법이 있습니까?