ディレクトリを作成せずにtarファイル内のディレクトリからファイルを抽出する

ディレクトリを作成せずにtarファイル内のディレクトリからファイルを抽出する

次の構造のtarファイルがあります。

- dir1
 -- file
- dir2
- dir3

を実行しようとすると、tar -xf tarfile.tar.gz dir1/fileファイルを含むdir1が生成されます。間にディレクトリなしでファイルだけをインポートしたいと思います。ファイルを移動してディレクトリを削除できますが、tarコマンドがこれを直接実行できるようにするかどうかを知りたいです。

私はアルパインLinuxを使用しています。

ベストアンサー1

gunzipPOSIXly(非POSIXコマンドを除く):

gunzip < file.tar.gz | pax -rs'|.*/||' dir1/file1

そしてbsdtar

tar -s'|.*/||' -xf file.tar.gz dir1/file1

GNUの使用tar:

tar --transform='s|.*/||' -xf file.tar.gz dir1/file1

そしてstar

star -s '|*/||' -x -f file.tar.gz dir1/file1

これらのファイルの中には、ファイルがシンボリックリンクの場合、置換はシンボリックリンクの宛先にも影響します。

おすすめ記事