次の構造のtarファイルがあります。
- dir1
-- file
- dir2
- dir3
を実行しようとすると、tar -xf tarfile.tar.gz dir1/file
ファイルを含むdir1が生成されます。間にディレクトリなしでファイルだけをインポートしたいと思います。ファイルを移動してディレクトリを削除できますが、tarコマンドがこれを直接実行できるようにするかどうかを知りたいです。
私はアルパインLinuxを使用しています。
ベストアンサー1
gunzip
POSIXly(非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
これらのファイルの中には、ファイルがシンボリックリンクの場合、置換はシンボリックリンクの宛先にも影響します。