Open1
GitHub のリポジトリから複数のファイルを取得する
hankei6km/test-marp-ogimage-pages のリポジトリで hankei6km/test-marp-ogimage の .devcontainer
と themes
を使いたかった。
(そして submodule を使うのも面倒だった)
単独ファイルなら wget
などでよいのだが、複数ファイルだと少しばかり工夫が必要。
リポジトリを tar ball で取得
zip で取得する方法。
これの zipball
を tarball
に変えたら .tar.gz
で取得できた。
部分的に展開する
上記方法で取得すると path にコミットの hash が含まれている。
$ curl -sL https://github.com/hankei6km/test-marp-ogimage/tarball/master | tar -ztf -
hankei6km-test-marp-ogimage-95df8cb/
hankei6km-test-marp-ogimage-95df8cb/.devcontainer/
hankei6km-test-marp-ogimage-95df8cb/.devcontainer/Dockerfile
hankei6km-test-marp-ogimage-95df8cb/.devcontainer/devcontainer.json
hankei6km-test-marp-ogimage-95df8cb/.devcontainer/first-run-notice.txt
<snip>
これは扱いが面倒なので --strip-components=1
で取り除く。特定のディレクトリ(path)にマッチしたものだけを展開するには --wildcards
を使う。
$ curl -sL https://github.com/hankei6km/test-marp-ogimage/tarball/master | tar --wildcards --strip-components=1 -zxf - "**/.devcontainer/*" "**/themes/*"
$ ls -a
. .. .devcontainer themes