「first.tar.gz」というtar.gzがあります。その中には「first」というフォルダだけがあります(他のフォルダやファイルはありません)。 tar.gzを解凍したいので、「first」フォルダの名前は「second」に変更されます。
私はこれを試しました:
tar -zxf first.tar.gz --transform s/first/second/
しかし、これは私には効果がありません。エラー/応答がなく、名前を変更せずに「最初の」フォルダを抽出します。タールバージョンは1.26です。
答え1
--transform
GNUで作業しtar
て詳細な出力を要求すると、出力されるパス-v
名は次のようになります。変わらないパス名。
GNUはtar
ユーザーの式に基づいて--transform
パス名を変換しますが、オプションを使用しない限り、出力にそれを報告しません--show-transformed-names
。
例:
$ tree
.
`-- archive.tar
0 directories, 1 file
$ gtar -t -f archive.tar
first/
first/dir/
first/dir/first.txt
first/dir/file
$ gtar -xv -f archive.tar --transform='s/first/second/'
first/
first/dir/
first/dir/first.txt
first/dir/file
上記のコマンドがアーカイブに保存されているパス名を報告する方法に注意してください。以下では、パス名が適切に変換されていることがわかります。
$ tree
.
|-- archive.tar
`-- second
`-- dir
|-- file
`-- first.txt
2 directories, 3 files