有没有办法在单个命令中“提取和删除 zip 文件”?

The*_*ent 14 zip

有没有办法(最好通过 GUI,但可以通过命令行)来提取 zip 文件并在提取后删除 zip,所有这些都在一个命令中?

(我记得有一天我看到有人在命令行中做这样的事情)

con*_*use 14

对于 GUI,我认为最简单的方法是 nautilus 脚本。其中的主线将是:

unzip "$item" && trash "$item"
Run Code Online (Sandbox Code Playgroud)

它在 bash/dash 中同样简单。在鹦鹉螺中,整个事情看起来像这样:

解压删除鹦鹉螺脚本

#!/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
Run Code Online (Sandbox Code Playgroud)


小智 11

您可以简单地编写一个 bash 脚本。它看起来像这样:

unzip $1 && rm $1
Run Code Online (Sandbox Code Playgroud)

其中 $1 是带有 zip 文件文件名值的参数。然后在 ~/.bashrc 文件中使用别名解压缩命令来运行这个脚本。在终端输入后:

unzip test.zip
Run Code Online (Sandbox Code Playgroud)

你会得到:

unzip test.zip && rm test.zip
Run Code Online (Sandbox Code Playgroud)

  • 这里不需要 `-r` 标志。Zip 文件不是目录,因此没有什么可递归的。 (2认同)