เครื่องมือจัดการตัวดึงข้อมูลบรรทัดคำสั่ง


15

ฉันลืมคำสั่งแตกไฟล์ที่เกี่ยวข้องทั้งหมดสำหรับทุกรูปแบบการบีบอัด

ดังนั้นฉันจึงคิดเกี่ยวกับการเขียนสคริปต์ที่แมปส่วนขยายของไฟล์กับคำสั่งแยกที่เหมาะสม แต่ฉันเดาบางสิ่งบางอย่างเช่นนี้มีอยู่แล้วฉันแค่หามันไม่เจอ

ฉันจะมีความสุขกับไฟล์ลูกกลิ้ง แต่เครื่องมือลูกกลิ้งเป็นเครื่องมือ GUI

คำตอบ:


11

ข้อเสนอแนะสองสามข้อ:

UNP

unp (พร้อมใช้งานจากศูนย์ซอฟต์แวร์) เป็นโมดูล perl ขนาดเล็กที่จะขยายการจัดเก็บลงสื่อถาวรที่หลากหลายลงในโฟลเดอร์ปัจจุบัน ใช้unp -sสำหรับรูปแบบไฟล์เก็บถาวรที่รองรับ

ตามค่าเริ่มต้นจะขยายการบีบอัดข้อมูลลงในโฟลเดอร์ปัจจุบัน

ไฟล์ลูกกลิ้ง

ไฟล์ลูกกลิ้งตัวเองสามารถเรียกใช้จากบรรทัดคำสั่ง ใช้file-roller -h <archive name>เพื่อคลายการบีบอัดไฟล์เก็บถาวร


11

จากที่นี่ไปใส่ไว้ใน. bashrc ของคุณ:

extract () {
   if [ -f $1 ] ; then
      case $1 in
         *.tar.bz2)   tar xjf $1      ;;
         *.tar.gz)   tar xzf $1      ;;
         *.bz2)      bunzip2 $1      ;;
         *.rar)      rar x $1      ;;
         *.gz)      gunzip $1      ;;
         *.tar)      tar xf $1      ;;
         *.tbz2)      tar xjf $1      ;;
         *.tgz)      tar xzf $1      ;;
         *.zip)      unzip $1      ;;
         *.Z)      uncompress $1   ;;
         *)         echo "'$1' cannot be extracted via extract()" ;;
      esac
   else
      echo "'$1' is not a valid file"
   fi
} 

เพิ่มตัวอย่างของวิธีใช้หรือไม่
MiniGod

4
แยกไฟล์ file.zip
frabjous

4

สิ่งที่ยังไม่ได้กล่าวถึงนั้นคือมีดกองทัพบกของยูทิลิตี้บรรทัดคำสั่ง: atool; มันมีอยู่ในคลัง: คลิกatool หรือเรียกใช้ ติดตั้ง atoolsudo apt-get install atool

atoolเป็นสคริปต์ที่ประกอบด้วยฟังก์ชั่นต่าง ๆ เช่น aunpack, apack, als, acat, adiff และ arepack อาจเป็นการใช้งานทั่วไปของโปรแกรมคือการแตกไฟล์เก็บถาวรโดยใช้คำสั่ง aunpack มีตัวเลือกที่น่าสนใจและมีประโยชน์ค่อนข้างมาก แต่วิธีการพื้นฐานในการแยกไฟล์เก็บถาวรส่วนใหญ่เป็นเพียงการเรียกใช้ตัวอย่างเช่น

aunpack myarchive.tar

การสนับสนุนสำหรับ tar, 7z, zip, JAR, rar, AR, LHA และหลายรูปแบบที่เก็บมากขึ้นและรูปแบบของพวกเขาได้รับการบันทึกโดยการป้อนman atoolในขั้วหรือโดยการดูmanpage อูบุนตูออนไลน์

ดังนั้นสิ่งที่มีประโยชน์คือถ้าคุณมีไฟล์เก็บถาวร tar, zip และ gz ในโฟลเดอร์เดียวกันสิ่งที่คุณต้องทำเพื่อแยกไฟล์ทั้งหมดคือการเรียกใช้

aunpack -e *

และไฟล์เก็บถาวรที่สนับสนุนทั้งหมดจะถูกแยกไฟล์ด้วยโครงสร้างโฟลเดอร์ที่เก็บไว้ หากชื่อของโฟลเดอร์ผลลัพธ์มีอยู่แล้วมันจะไม่ถูกเขียนทับ แต่จะได้รับชื่อเฉพาะเช่น unpack-5645

หรือถ้าคุณต้องการเลือกไฟล์เก็บถาวรเพียงประเภทเดียวและนำออกมาใช้แทน

aunpack -e *.zip

หากคุณต้องการไฟล์ที่แตกไฟล์โดยตรงในไดเรกทอรีใดไฟล์หนึ่งโดยเฉพาะโครงสร้างไดเรกทอรีโฟลเดอร์ย่อยที่ถูกเก็บไว้ (หากออก) ให้ป้อนตัวอย่างเช่น

aunpack -e Scripts11.zip -X /home/mike/Videos

หากไฟล์ที่มีชื่อเดียวกันมีอยู่แล้วคุณจะได้รับแจ้งให้ดำเนินการเพื่อเปลี่ยนชื่อหรือเขียนทับเว้นแต่คุณจะระบุตัวเลือกบังคับ ( -f) ในคำสั่ง

ในฐานะที่เป็น manpage บันทึก, aunpack แรกแยก

ไฟล์ไปยังไดเรกทอรีที่ไม่ซ้ำกัน (ชั่วคราว) แล้วย้าย [es] เนื้อหากลับคืนถ้าเป็นไปได้ นอกจากนี้ยังป้องกันไม่ให้ไฟล์ในเครื่องถูกเขียนทับโดยไม่ได้ตั้งใจ


ด้วยเครื่องมืออื่น ๆ สามารถดำเนินการอื่นได้ตามที่กล่าวไว้ในman page :

  • apackสร้างไฟล์เก็บถาวรจากไฟล์หรือโฟลเดอร์ที่ระบุหรือ stdin
  • ALS ไฟล์รายการภายในระบุเก็บ
  • acatเปิดใช้งานหนึ่งไฟล์เพื่อแยกไฟล์เก็บถาวรไปยัง stdout
  • adiffช่วยให้คุณสามารถเปรียบเทียบทั้งสองเก็บถาวรที่ระบุ
  • arepackทำให้สามารถแปลงรูปแบบไฟล์เก็บถาวรหนึ่งรูปแบบเป็นรูปแบบอื่นได้โดยการวางเนื้อหาของไฟล์เก็บถาวรต้นฉบับไว้ในโฟลเดอร์ชั่วคราวแล้วทำการบรรจุใหม่

มีตัวเลือกที่มีประโยชน์มากมายสำหรับอรรถประโยชน์ทั้งหมด แต่อาจเป็นตัวที่ใช้บ่อยที่สุดคือ aunpack เนื่องจากทำให้ง่ายต่อการแตกไฟล์เก็บถาวรที่แตกต่างกันหลายรายการ เป็นเรื่องดีมากที่จะสามารถออกคำสั่งเดียวและสามารถแตกไฟล์ได้หลายรูปแบบโดยไม่ต้องใช้คำสั่งต่าง ๆ สำหรับ tar, zip และอื่น ๆ

สำหรับบทความล่าสุดที่อธิบายถึงวิธีการรวมฟังก์ชั่น atool เข้ากับการกระทำที่กำหนดเองของ filemanager ของคุณเช่น Thunar ดูนิตยสารออนไลน์ฉบับนี้


3

มีเครื่องมือที่เรียกว่าdtrx- ทำการสกัดที่ถูกต้อง

dtrx somefile.someextติดตั้งจากที่เก็บและเรียกใช้อูบุนตู เครื่องมือนี้จะสอบถามผู้ใช้เกี่ยวกับไฟล์เก็บถาวรแบบซ้อน (ไฟล์ zip)

dtrx เป็นรุ่นที่มีความซับซ้อนของสารสกัดจาก frabjous ของ


0

คุณต้องจัดการกับรูปแบบใด วิธีหนึ่งคือการเขียนเชลล์สคริปต์ซึ่งตรวจสอบส่วนขยายของอาร์กิวเมนต์ หรือหากสิ่งที่คุณทำคือรูปแบบของ. tar * การทำเช่นtar -xfนั้นจะจัดการกับสิ่งเหล่านั้นโดยอัตโนมัติ (ฉันจึงจำได้แค่นั้นและunzipพอสำหรับทุกสิ่งที่ฉันมักจะเจอ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.