tarアーカイブを作成し、アーカイブ内のルートディレクトリの名前を変更しようとします。たとえば、次のファイルがあります。
$ tree ./repo
./repo
├── 1
├── 2
└── 3
0 directories, 3 files
repo-v1.0.0.tar.gz
次のファイル構造でアーカイブを作成したいと思います。
./repo-v1.0.0
├── 1
├── 2
└── 3
今私は醜い解決策を使用しています。
mv "${repo}" ${repo}-${version}"
tar -cvzf "${repo}-${version}.tar.gz" "${repo}-${version}"
mv "${repo}-${version}" "${repo}"
コマンド自体を使用してアーカイブのルートディレクトリの名前を変更できますかtar
?
ベストアンサー1
tar
選択肢があります--transform
。電話してもいい
tar --transform "s/repo/repo-v1.0.0/" -cvzf repo.tar.gz repo/