คุณรู้จักชื่อไฟล์ในไฟล์เก็บถาวรก่อนที่จะแตกไฟล์หรือไม่ คุณสามารถสร้างฟังก์ชั่นเพื่อคลายซิปเพื่อ/tmp
แก้ไขและรีเฟรช zip:
zipedit(){
echo "Usage: zipedit archive.zip file.txt"
unzip "$1" "$2" -d /tmp
vi /tmp/$2 && zip -j --update "$1" "/tmp/$2"
}
ตามที่กล่าวไว้การใช้งานคือ:
zipedit myarchive.zip myfile.txt
วิธีนี้คลายไฟล์ที่ระบุชื่อจากไฟล์เก็บถาวรบันทึกลง/tmp
ในแก้ไขไฟล์vi
จากนั้นเพิ่มไฟล์กลับไปยังไฟล์เก็บถาวรขณะที่ "junking" พา ธ เพิ่ม. bash_profile ของคุณโดยสมมติว่าbash
...
แก้ไข:ด้านล่างเป็นรุ่นที่ทำงานร่วมกับโฟลเดอร์ย่อยภายในที่เก็บถาวร ... หมายเหตุอย่าใช้เครื่องหมายทับหน้าชื่อโฟลเดอร์ (เช่นใช้งานmyfolder/file.txt
ไม่ได้/myfolder/file.txt
) หากคุณแก้ไขไฟล์ที่ไม่มีอยู่ในไฟล์เก็บถาวรมันจะสร้างให้คุณ ยังไม่แน่ใจว่ามันจะทำงานกับพา ธ สัมบูรณ์ไปยังไฟล์ zip หรือไม่ ดีที่สุดติดกับญาติ
zipedit(){
echo "Usage: zipedit archive.zip folder/file.txt"
curdir=$(pwd)
unzip "$1" "$2" -d /tmp
cd /tmp
vi "$2" && zip --update "$curdir/$1" "$2"
# remove this line to just keep overwriting files in /tmp
rm -f "$2" # or remove -f if you want to confirm
cd "$curdir"
}
ขอบคุณสำหรับคำถาม ฉันอาจจะลงเอยด้วยการใช้อันนี้ด้วย!
การแก้ไขอื่น: ยังไม่ทดลอง แต่ฉันอ่านแล้วvim
และemacs
จะแก้ไขไฟล์ jar โดยตรงหรือไม่