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:
#!/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:
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?
Odpowiedzi:
W przypadku GUI powiedziałbym, że najprostszym sposobem jest skrypt nautilus. Jego główna linia to:
Działa równie dobrze w bash / dash. W Nautilusie wszystko wyglądałoby tak:
źródło
Możesz po prostu napisać skrypt bash. Będzie to wyglądać mniej więcej tak:
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:
dostaniesz:
źródło
-r
Flaga nie jest tu potrzebna . Pliki zip nie są katalogami, więc nie ma w czym się powtarzać.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.źródło
tar --delete-files
?