tar はアーカイブの名前変更ルートディレクトリを作成します。

tar はアーカイブの名前変更ルートディレクトリを作成します。

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/

おすすめ記事