Làm thế nào bạn có thể chỉ định một đường dẫn hàng đầu tùy ý khi thêm tệp vào tar?


10

Có thể đặt đường dẫn tùy ý trong kho lưu trữ tar để đặt các tệp không tồn tại trên hệ thống tệp gốc của bạn không? Điều này khác với công tắc -C ở chỗ tôi có thể muốn sao lưu / etc /, nhưng đặt nó vào kho lưu trữ dưới dạng / configure / etc /.


1
IIRC -stùy chọn thực hiện điều đó, nhưng không có thời gian để viết toàn bộ câu trả lời ngay bây giờ.
Chris S

@ChrisS Trong tùy chọn GNU tar 1.28 (Ubuntu 16.04) -slà viết tắt của --preserve-ordervà do đó lạc đề. tại đây
Stéphane Gourichon

Câu trả lời:


7

Trong GNU tar, --transform( --xform) là tùy chọn để thực hiện chuyển đổi tên tệp. Tài liệu và ví dụ có thể được tìm thấy ở đây


Tôi sẽ thấy điều này nếu tôi đọc man tar trên hệ thống của mình chứ không phải trên linux.die.net !! Cảm ơn câu trả lời, regex thậm chí còn tốt hơn tôi mong đợi.
andyortlieb

2
@andyorlieb, cảm ơn vì đầu vào "--xform" không hoạt động trên hệ thống của bạn, nhưng vui lòng không thay đổi nội dung câu trả lời của mọi người trừ khi bạn có tài liệu tham khảo chính xác để sao lưu. Cảm ơn bạn.
Chris S

-strên tar của OSX trông tương tự
gman 7/11/2015

Tài liệu được đề cập đến rất dài để giải thích --transform=expressiontại thời điểm trích xuất , nhưng không nói gì về thời gian thêm (đó là câu hỏi thực tế được hỏi).
Stéphane Gourichon

3

Trong BSD tar, -s patternlà tùy chọn để thực hiện chuyển đổi tên. Trích dẫn từ tài liệu freebsd.org :

-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
Tôi biết rằng tar nói rằng nó đặc biệt về tar tar của GNU và Stéphane nhận xét rằng về cơ bản tar không phải là gnu là lạc đề. Tuy nhiên, khi có không phải là một thẻ cho BSD tar, tôi nghĩ rằng đây là một câu trả lời thích hợp.
Patrick M
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.