単一のコマンドで「zipファイルを抽出して削除する」方法はありますか?


13

単一のコマンドで、zipファイルを抽出し、抽出後にzipを削除する方法(GUIを使用するのが望ましいが、コマンドラインを使用することもできます)はありますか?

(コマンドラインで誰かがこのようなことをしているのを見た覚えがあります)


私は単一のコマンドを認識していませんが、2番目のコマンドをキューに入れることができます。1.zipを解凍します。rm 1.zip
Amey Jah

回答:


13

GUIの場合、最も簡単な方法はnautilusスクリプトだと思います。その主な行は次のようになります。

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

bash / dashでも同じように簡単に機能します。nautilusでは、全体は次のようになります。

解凍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

私が見たものではありませんが、それは機能します。とりあえずありがとう!
トム・ブリト

10

あなたは単にbashスクリプトを書くことができます。次のようになります。

unzip $1 && rm $1

$ 1は、zipファイルのファイル名の値を持つ引数です。次に、〜/ .bashrcファイルのunzipコマンドをエイリアスして、このスクリプトを実行します。そして、ターミナルに入力した後:

unzip test.zip

あなたは得るでしょう:

unzip test.zip && rm test.zip

2
-rここではフラグは必要ありません。Zipファイルはディレクトリではないため、再帰する必要はありません。
Trevor Merrifield 2017

4

シェルコマンドを使用すると、非常に簡単です。

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

おそらく、nautilusを使用している場合はnautilus-action、GUIを選択してコマンドを自動化するために関連を作成できます。


ええ、実際にこれらは、単一の行に2つのコマンドがある..私は本当に、単一のコマンドI鋸誰かの使用を覚えしようとしている...
トム・ブリト

コマンドが1つであるか2つであるかが重要なのはわかりません。あなたは彼がエイリアスを使用したのtar --delete-filesか、それとも実際に圧縮して使用したのか?
con-f-use
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.