osmium
我正在尝试使用工具从数千个 OSC 变更集文件中创建 PBF 。我已经编写了一个 Bash 脚本来使用 Jenkins 执行此任务。
- 我正在将所有 OSC 文件合并到一个主 OSC 文件中
- 然后将该 OSC 应用于 PBF。
但是当我尝试将大量 OSC 文件一次合并到 master 中时,我遇到了问题。我使用以下命令
osmium merge-changes -v -o $destination/all-"$execution_tag".osc.gz $(find $_osc -name '*.osc') --overwrite
但是当操作系统尝试处理包含超过 12k 文件的大目录时,此命令将被操作系统终止。
我有很多目录和子目录,我试图在其中递归地查找所有*.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
)替换它,但它仍然被杀死。 - 目前我正在尝试从具有多个带有文件的子目录的父目录运行此命令。如果我手动执行每个子目录,它似乎工作正常
- 有没有办法,如果我得到特定路径作为输入,我可以搜索其中的所有子目录,如果子目录存在,那么我在每个子目录上单独运行此命令?