tar ile açma sırasında hata mesajını gizle: 'tar: --absolute-names ile oluşturulan arşiv için baştaki `/' üye isimlerinden kaldırılması '


1

Yinelenmez, stackexchange ile ilgili diğer sorular, arşiv oluşturuldukça bu mesajdan kurtulmaktır.

-PSeçeneği ile oluşturulmuş bir arşiv (mümkün `/ 'ile) mümkün mü?

" --absolute-names" İle ( -Pisteğe bağlı) oluşturulmuş bir arşivim var / öncülük /.

/ Stripped ile paketini açmak istiyorum (tar varsayılan olarak yapıyor).

Neredeyse ideal, ama sessiz kalmak istiyorum:

tar: Removing leading `/' from member names.

diğer mesajları kaldırmadan (bu nedenle kaba kuvvet 2>/dev/nullbir çözüm değildir).

Arşiv oluşturma sırasında bu iletinin nasıl susturulacağı ile ilgili birden fazla çözüm buldum, ancak paketten çıkarmak için hiçbiri bulamadım. Biliyorum grep -vama (a) hakkında bir mesaj çıkarılmamışsa (a) tar'dan bir hata kodu gizler (b) kendi hata kodunu ekler.

Bu durum ile çoğaltılabilir

cd /home/user/tmp
touch a.txt
mateusz@Grisznak:~/Desktop/tmp$ tar --create -P /home/user/tmp > a.tar
mateusz@Grisznak:~/Desktop/tmp$ tar --extract --file=a.tar 

XY sorununu önlemek için: backupGem ( http://backup.github.io/backup/v4/ ) tarafından oluşturulan arşivleri açıyorum .

Yanıtlar:


1

Bu istediğini yapmak gibi görünüyor:

tar --extract --xform 's/^\///' --file=a.tar

Erkek sayfası başına:

--transform, --xform EXPRESSION
      use sed replace EXPRESSION to transform file names

Bu yüzden hala önde gelen çizgi çıkarır, ama bunun hakkında konuşmaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.