GNU มีตัวเลือกเรียบร้อยเรียกว่าtar(1)
--transform
จากหน้าคน:
--transform, --xform EXPRESSION
ใช้ sed แทนที่ EXPRESSION เพื่อเปลี่ยนชื่อไฟล์
สิ่งนี้ช่วยให้การแปลงชื่อพา ธ ได้อย่างรวดเร็วเนื่องจากมีการแยกไฟล์เก็บถาวรเพื่อให้คุณสามารถควบคุมตำแหน่งและวิธีที่จะแตกไฟล์ได้
คำถามของฉันคือมีวิธีที่จะทำการเปลี่ยนแปลงที่คล้ายกันในแหล่งกำเนิด ; เช่นโดยไม่ต้องแยกเก็บถาวร?
ตัวอย่าง
[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
ใช้กรณี
ฉันแจกจ่ายtar
ไฟล์เก็บถาวรให้กับผู้ใช้ทั่วไปที่ไม่มีส่วนร่วมและต้องการให้มันแยกไปยังเส้นทางที่ถูกต้องโดยไม่มีการรบกวนจากฉัน ฉันกำลังพยายามหลีกเลี่ยงวิธีแก้ปัญหาเล็กน้อยในการแยกไฟล์เก็บถาวรเปลี่ยนชื่อไดเรกทอรีและบรรจุใหม่เนื่องจากไฟล์เก็บถาวรมีขนาดใหญ่