Có cách nào để trích xuất và xóa tập tin zip trong một lệnh không?


13

Có cách nào (thích hợp hơn thông qua GUI, nhưng có thể thông qua dòng lệnh) để trích xuất tệp zip và xóa zip sau khi giải nén, tất cả chỉ trong một lệnh?

(Tôi nhớ rằng tôi đã thấy ai đó làm điều gì đó như thế này trong dòng lệnh một ngày)


Tôi không biết lệnh đơn nhưng bạn có thể xếp hàng lệnh thứ hai. giải nén 1.zip; rm 1.zip
Amey Jah

Câu trả lời:


13

Đối với GUI tôi muốn nói cách dễ nhất là tập lệnh nautilus. Dòng chính sẽ là:

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

Nó hoạt động trong bash / dash dễ dàng như vậy. Trong nautilus toàn bộ mọi thứ sẽ như thế này:

giải nén tập lệnh 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

Không phải những gì tôi thấy, nhưng nó hoạt động. Dù sao cũng cảm ơn!
Tom Brito

10

Bạn chỉ có thể viết một tập lệnh bash. Nó sẽ trông giống như thế này:

unzip $1 && rm $1

trong đó $ 1 là đối số có giá trị tên tệp của tệp zip của bạn. Sau đó, bí danh lệnh giải nén trong tệp ~ / .bashrc để chạy tập lệnh này. Và sau khi gõ vào terminal:

unzip test.zip

bạn sẽ nhận được:

unzip test.zip && rm test.zip

2
Không cần -rcờ ở đây. Các tập tin zip không phải là thư mục nên không có gì để tái diễn.
Trevor Merrifield

4

Nó khá dễ dàng thông qua một lệnh shell:

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

Có lẽ, nếu bạn đang sử dụng nautilus, bạn có thể tạo một liên quan nautilus-actionđể tự động hóa lệnh thông qua lựa chọn GUI.


vâng, thực sự đây là 2 lệnh trong một dòng .. Tôi thực sự đang cố nhớ một lệnh duy nhất mà tôi thấy ai đó sử dụng ..
Tom Brito

Tôi không thấy nó quan trọng như thế nào dù là một hay hai lệnh. Bạn có chắc là anh ta đã sử dụng bí danh hoặc thực tế đã nén và sử dụng tar --delete-files?
con-f-sử dụng
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.