GNU tar(1)
adlı düzgün bir seçenek var --transform
. Man sayfasından:
--transform, --xform EXPRESSION
dosya adlarını dönüştürmek için sed replace EXPRESSION kullanın
Bu, arşiv çıkarılırken yol adlarının anında dönüştürülmesini sağlar, böylece nerede ve nasıl çıkarılacağını kontrol edebilirsiniz.
Benim sorum, yerinde benzer bir dönüşüm gerçekleştirmenin bir yolu var mı ; yani, arşiv çıkarılmadan?
Misal
[user@host]$ tar tf test.tar
./foo/blah ./foo/bleh
[user@host]$ some_deep_magic 's/foo/bar/' test.tar
[user@host]$ tar tf test.tar
./bar/blah ./bar/bleh
Kullanım örneği
Bir tar
arşivi temelde clueless son kullanıcılara dağıtıyorum ve benden müdahale etmeden doğru yola çıkarmasını istiyorum. Ben arşiv çıkarma, dizinleri yeniden adlandırmak ve arşiv büyük olduğu gibi yeniden paketleme önemsiz çözüm kaçınmak için çalışıyorum.