在单个命令中是否有一种“提取和删除zip文件”的方法?


13

是否有一种方法(最好是通过GUI,但最好是通过命令行)来提取一个zip文件并在提取后删除该zip文件,而这些操作都可以在一个命令中完成?

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


我不知道单个命令,但是您可以将第二个命令排队。解压缩1.zip; rm 1.zip
Amey Jah

Answers:


13

对于GUI,我会说最简单的方法是Nautilus脚本。其主线为:

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

它可以轻松地在bash / dash中工作。在鹦鹉螺中,整个过程看起来像这样:

解压缩删除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标志。压缩文件不是目录,因此没有递归文件。
Trevor Merrifield

4

通过shell命令非常简单:

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

也许,如果您正在使用nautilus,则可以创建一个相关项nautilus-action,以便通过GUI选择自动执行命令。


是啊,其实这些都是单行2个命令..我真的试图记住单个命令我看到有人使用..
汤姆·布里托

我不知道这是一个命令还是两个命令有什么关系。您确定他确实使用了别名,或者实际上正在压缩并使用它tar --delete-files吗?
con-f-use
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.