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.