Linux
如何在解壓前更改 tar.gz 中的文件夾名稱?
我有一個名為“first.tar.gz”的 tar.gz。在其中我只有一個名為“first”的文件夾(沒有其他文件夾或文件)。我想解壓tar.gz,所以文件夾“first”重命名為“second”。
我試過這個:
tar -zxf first.tar.gz --transform s/first/second/
但這對我不起作用。我沒有收到任何錯誤/響應,它只是提取了“第一個”文件夾而沒有重命名。tar 的版本是 1.26
當您使用
--transform
GNUtar
並使用 請求詳細輸出時-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