.tarから特定のフォルダをエクスポートする

.tarから特定のフォルダをエクスポートする

/dir1/dir2/フォルダにtest.tarがあり、test.tarのフォルダを/dir1/dir2/ディレクトリに抽出したいと思います。私のtest.tarの構造

test.tar
|tdirX/
|tdirY/
|tdirZ/

など。

今、私はtest.tar/tdirZを抽出せずにtdirX - tdir Y、...フォルダを/dir1/dir2/に抽出したいと思います。

注:私はSunOS 5.8を使用しています。

ベストアンサー1

tar(1)手動私のSolaris 11.4ベータシステムでは、次のように表示されます。

ファイル名の代替ワイルドカードは、アーカイブからファイルを抽出するために使用することはできません。

...次を使用することをお勧めします。

tar xvf test.tar $( tar tf test.tar | grep '^tdir[XY]' )

代わりに。これにより、dir[XY]行の先頭に一致する行のアーカイブとgrepの内容が一覧表示されます。

実際におすすめするのは

tar xvf test.tar `tar tf test.tar | grep '^tdir[XY]'`

しかし、シェルが古すぎて理解できない限り、同じことです$(...)

これは少しハッキングのように感じます(たとえば、ディレクトリにスペースがあると壊れます)。この場合、以下を使用できます。

tar xvf test.tar tdirX
tar xvf test.tar tdirY

これは、現在の作業ディレクトリがあり、/dir1/dir2アーカイブが同じディレクトリにあると仮定します。

おすすめ記事