단일 명령으로“zip 파일 추출 및 삭제”방법이 있습니까?


13

zip 파일을 추출하고 압축을 푼 후 zip을 모두 삭제하는 방법이 있습니까?

(어느 날 누군가 명령 줄에서 이와 같은 일을하는 것을 보았습니다.)


단일 명령을 모르지만 두 번째 명령을 대기열에 넣을 수 있습니다. 압축 해제 1.zip; rm 1.zip
Amey Jah

답변:


13

GUI의 경우 가장 쉬운 방법은 노틸러스 스크립트라고 말합니다. 주요 라인은 다음과 같습니다.

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

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

내가 본 것이 아니라 작동합니다. 어쨌든 고마워!
톰 브리토

10

bash 스크립트를 작성하면됩니다. 다음과 같이 보일 것입니다 :

unzip $1 && rm $1

여기서 $ 1은 zip 파일의 파일 이름 값을 가진 인수입니다. 그런 다음 ~ / .bashrc 파일의 alias unzip 명령으로이 스크립트를 실행하십시오. 그리고 터미널에 입력 한 후 :

unzip test.zip

당신은 얻을 것이다 :

unzip test.zip && rm test.zip

2
-r여기서 플래그 가 필요하지 않습니다 . Zip 파일은 디렉토리가 아니므로 재귀 할 것이 없습니다.
Trevor Merrifield

4

쉘 명령을 통해 매우 쉽습니다.

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

아마도 노틸러스를 사용 nautilus-action하는 경우 GUI 선택을 통해 명령을 자동화하기 위해 관련 항목 을 만들 수 있습니다 .


예, 실제로 이들은 한 줄에 2 개의 명령이 있습니다. 누군가가 사용한 것을 본 단일 명령을 기억하려고합니다.
Tom Brito

하나 또는 두 개의 명령인지 여부가 중요하지 않습니다. 그가 별명을 사용했거나 실제로 압축하여 사용 tar --delete-files했습니까?
혼동
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.