Czy istnieje sposób „wyodrębnienia i usunięcia pliku zip” w jednym poleceniu?


13

Czy istnieje sposób (najlepiej za pomocą GUI, ale może to być wiersz poleceń), aby wyodrębnić plik zip i usunąć zip po rozpakowaniu, wszystko w jednym poleceniu?

(Pamiętam, że widziałem kiedyś, jak ktoś robi coś takiego w wierszu poleceń)


Nie znam pojedynczego polecenia, ale możesz ustawić w kolejce drugie polecenie. rozpakuj 1.zip; rm 1.zip
— Amey Jah

Odpowiedzi:


13

W przypadku GUI powiedziałbym, że najprostszym sposobem jest skrypt nautilus. Jego główna linia to:

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

Działa równie dobrze w bash / dash. W Nautilusie wszystko wyglądałoby tak:

rozpakuj usuń skrypt 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

Nie to, co widziałem, ale działa. W każdym razie dzięki!
— Tom Brito

10

Możesz po prostu napisać skrypt bash. Będzie to wyglądać mniej więcej tak:

unzip $1 && rm $1

gdzie $ 1 jest argumentem o wartości nazwy pliku zip. Następnie polecenie rozpakuj alias w pliku ~ / .bashrc, aby uruchomić ten skrypt. A po wpisaniu terminala:

unzip test.zip

dostaniesz:

unzip test.zip && rm test.zip

2
-rFlaga nie jest tu potrzebna . Pliki zip nie są katalogami, więc nie ma w czym się powtarzać.
— Trevor Merrifield

4

Jest to dość łatwe dzięki poleceniu powłoki:

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

Być może, jeśli używasz nautilusa, możesz utworzyć odpowiedni nautilus-action, aby zautomatyzować polecenie poprzez wybór GUI.


tak, właściwie to są 2 polecenia w jednym wierszu .. Naprawdę staram się zapamiętać jedno polecenie, które widziałem, żeby ktoś używał ..
— Tom Brito

Nie rozumiem, jak ważne jest, czy jest to jedno czy dwa polecenie. Jesteś pewien, że użył aliasu, czy faktycznie kompresował i używał tar --delete-files?
— con-f-use
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.