GNU tar อาศัยอยู่กับ featuritis ดังนั้นโดยธรรมชาติแล้วยังมีตัวเลือกบางอย่างสำหรับสิ่งนั้น
http://www.gnu.org/software/tar/manual/html_node/transform.html
หากคุณต้องการลบเซ็กเมนต์เส้นทางบางส่วนออก--strip-components=n
หรือ--strip=n
ทำบ่อย ๆ :
tar xvzf tgz --strip=1
แต่ก็เป็นไปได้ที่จะทำการ regex-rewrite ไฟล์ที่จะแตกไฟล์ (แฟล็กเป็น--transform
หรือ--xform
และยอมรับ ereg ด้วย/x
modifer):
tar xvzf tgz --xform='s#^[^/]+#.#x'
# or 's#^.+/##x' for discarding all paths
สำหรับรายการ tar คุณต้องมี--show-transformed
ตัวเลือกเพิ่มเติม:
tar tvzf tgz --show-transformed --strip=1 --xform='s/abc/xyz/x'
ฉันเชื่อว่าตัวเลือกการเขียนใหม่ยังใช้งานได้กับการบรรจุไม่ใช่สำหรับการแยกเท่านั้น แต่pax
มีไวยากรณ์ที่ดีกว่า