Bir zifte dosya eklerken gelişigüzel bir yol nasıl belirleyebilirsiniz?


10

Orijinal dosya sisteminizde bulunmayan dosyaları yerleştirmek için bir tar arşivi içinde rastgele bir yol ayarlamak mümkün mü? Bu, / etc / komutunun yedeğini almak isteyebileceğim için -C anahtarından farklıdır, ancak arşivde / configurations / etc / olarak yerleştirir.


1
IIRC -sseçeneği bunu yapar, ancak şu anda tam bir cevap yazmak için zamanınız yoktur.
Chris S

@ChrisS GNU tar 1.28 (Ubuntu 16.04) seçeneği -skısa --preserve-orderve dolayısıyla konu dışıdır . burada
Stéphane Gourichon

Yanıtlar:


7

GNU tar'da, --transform( --xform) dosya adı dönüşümleri yapma seçeneğidir. Dokümantasyon ve örnekler burada bulunabilir


Ben linux.die.net yerine benim sistemde adam tar okumak olsaydı bu olurdu! Cevabınız için teşekkürler, regex umduğumdan daha iyi.
andyortlieb

2
@andyorlieb, sisteminizde çalışmayan "--xform" girdisi için teşekkürler, ancak bunu yedeklemek için kesin bir referansınız yoksa lütfen insanların cevaplarının içeriğini değiştirmeyin. Teşekkür ederim.
Chris S

-s
OSX'in

Bahsedilen dokümantasyon --transform=expression, çıkarma zamanında açıklamak için büyük bir çaba sarf etmekle birlikte , ekleme süresi hakkında hiçbir şey söylememektedir (sorulan asıl soru budur).
Stéphane Gourichon

3

BSD katranında, -s patternad dönüşümleri yapma seçeneğidir. Freebsd.org belgelerinden alıntı :

-s  pattern
     Modify file or archive member names according to pattern.  The
     pattern has the format /old/new/[ghHprRsS] where old is a basic
     regular expression, new is the replacement string of the matched
     part, and the optional trailing letters modify how the replace-
     ment is handled.  If old is not matched, the pattern is skipped.
     Within new, ~ is substituted with the match, \1 to \9 with the
     content of the corresponding captured group.  The optional trail-
     ing g specifies that matching should continue after the matched
     part and stop on the first unmatched pattern.  The optional
     trailing s specifies that the pattern applies to the value of
     symbolic links.  The optional trailing p specifies that after a
     successful substitution the original path name and the new path
     name should be printed to standard error.  Optional trailing H,
     R, or S characters suppress substitutions for hardlink targets,
     regular filenames, or symlink targets, respectively.  Optional
     trailing h, r, or s characters enable substitutions for hardlink
     targets, regular filenames, or symlink targets, respectively.
     The default is hrs which applies substitutions to all names.  In
     particular, it is never necessary to specify h, r, or s.

1
Bunu biliyorum katran o özellikle GNU tar ilgili olduğunu söylüyor ve Stéphane o temelde olmayan gnu katran olduğunu kapalı başlıkları yorumladı. Ancak, BSD tar için bir etiket olmadığından , bunun uygun bir cevap olduğunu düşünüyorum.
Patrick M
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.