มีวิธี "แยกและลบไฟล์ซิป" ในคำสั่งเดียวหรือไม่?


13

มีวิธี (ดีกว่าผ่าน GUI แต่อาจผ่าน command line) เพื่อแตกไฟล์ zip และลบ zip หลังจากแตกไฟล์ทั้งหมดในคำสั่งเดียว?

(ฉันจำได้ว่าฉันเห็นคนที่ทำอะไรแบบนี้ในบรรทัดคำสั่งหนึ่งวัน)


ฉันไม่ทราบคำสั่งเดียว แต่คุณสามารถคิวคำสั่งที่สอง เปิดเครื่องรูด 1.zip; rm 1.zip
Amey Jah

คำตอบ:


13

สำหรับ GUI ฉันพูดได้ว่าวิธีที่ง่ายที่สุดคือสคริปต์หอยโข่ง สายหลักที่จะ:

unzip "$item" && trash "$item"

มันทำงานใน bash / dash เช่นเดียวกับที่ง่าย ในหอยโข่งทุกสิ่งจะมีลักษณะเช่นนี้:

เปิดเครื่องรูดลบสคริปต์หอยโข่ง

#!/bin/bash
# Nautilus script to unzip and then remove a zip archive.
# Nautilus script usually go in "$HOME/.gnome2/nautilus-scripts"

IFS='
'
for item in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
    if [ -n "$(file -b "$item" | grep -o 'Zip')" ]; then
        unzip "$item" && trash "$item"
        # use trash instead of rm to move them to trash
        # (trash-cli package installed)
    fi
done

ไม่ใช่สิ่งที่ฉันเห็น แต่มันได้ผล อย่างไรก็ตามขอบคุณ!
Tom Brito

10

คุณสามารถเขียนสคริปต์ทุบตีได้ มันจะมีลักษณะดังนี้:

unzip $1 && rm $1

โดยที่ $ 1 คืออาร์กิวเมนต์ที่มีค่าชื่อไฟล์ของไฟล์ zip ของคุณ จากนั้นคำสั่ง alias unzip ในไฟล์ ~ / .bashrc เพื่อเรียกใช้สคริปต์นี้ และหลังจากพิมพ์ในเทอร์มินัล:

unzip test.zip

คุณจะได้รับ:

unzip test.zip && rm test.zip

2
ไม่จำเป็นต้องมีการ-rตั้งค่าสถานะที่นี่ ไฟล์ซิปไม่ใช่ไดเรกทอรีดังนั้นจึงไม่มีอะไรจะชดเชย
Trevor Merrifield

4

มันค่อนข้างง่ายผ่านคำสั่งเชลล์:

unzip <filename>.zip && rm <filename>.zip

บางทีถ้าคุณใช้ nautilus คุณสามารถสร้างที่เกี่ยวข้องnautilus-actionเพื่อให้คำสั่งอัตโนมัติผ่านการเลือก GUI


ใช่จริงเหล่านี้มี 2 คำสั่งในบรรทัดเดียว .. ฉันจริงๆพยายามที่จะจำคำสั่งฉันใช้เลื่อยคนเดียว ..
ทอม Brito

ฉันไม่เห็นว่ามันเป็นเรื่องสำคัญว่ามันเป็นหนึ่งหรือสองคำสั่ง คุณแน่ใจว่าเขาไม่ได้ใช้นามแฝงหรือในความเป็นจริงการบีบอัดและใช้งานtar --delete-files?
con-f-use
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.