Apakah ada cara "mengekstrak dan menghapus file zip" dalam satu perintah?

13

Apakah ada cara (lebih disukai melalui GUI, tetapi mungkin melalui baris perintah) untuk mengekstrak file zip dan menghapus zip setelah diekstraksi, semua dalam satu perintah?

(Saya ingat saya melihat seseorang melakukan sesuatu seperti ini di baris perintah suatu hari)

Tom Brito
sumber
Saya tidak mengetahui perintah tunggal tetapi Anda dapat mengantri perintah kedua. unzip 1.zip; rm 1.zip
Amey Jah

Jawaban:

13

Untuk GUI saya akan mengatakan cara termudah adalah skrip nautilus. Baris utamanya adalah:

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

Ia bekerja di bash / dash semudah. Dalam nautilus semuanya akan terlihat seperti ini:

unzip hapus skrip nautilus

#!/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
membingungkan
sumber
Bukan apa yang saya lihat, tetapi berhasil. Bagaimanapun, terima kasih!
Tom Brito
10

Anda cukup menulis skrip bash. Akan terlihat seperti ini:

unzip $1 && rm $1

di mana $ 1 adalah argumen dengan nilai nama file file zip Anda. Kemudian alias unzip perintah dalam file ~ / .bashrc untuk menjalankan skrip ini. Dan setelah mengetik terminal:

unzip test.zip

kamu akan mendapatkan:

unzip test.zip && rm test.zip
Mateusz
sumber
2
Tidak perlu -rbendera di sini. File zip bukan direktori sehingga tidak ada yang perlu diulang.
Trevor Merrifield
4

Sangat mudah melalui perintah shell:

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

Mungkin, jika Anda menggunakan nautilus, Anda dapat membuat yang relevan nautilus-actionuntuk mengotomatiskan perintah melalui pilihan GUI.

Pavlos G.
sumber
ya, sebenarnya ini adalah 2 perintah dalam satu baris .. Saya benar-benar mencoba mengingat satu perintah yang saya lihat seseorang gunakan ..
Tom Brito
Saya tidak melihat bagaimana itu penting apakah itu satu atau dua perintah. Anda yakin dia memang menggunakan alias atau bahkan mengompresi dan digunakan tar --delete-files?
con-f-use