압축 해제 명령을 "실행 취소"하는 방법은 무엇입니까?


19

"unzip XXX.zip"을 사용하여 zip 파일을 추출했습니다. 안타깝게도 실수를합니다.

이제 "unzip"으로 생성 된 모든 파일과 디렉토리를 삭제하고 싶습니다.
실행 취소하려면 어떻게해야합니까?

답변:


29

이것을 사용하십시오 :

unzip -l filename |  awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}

당신이 회의적이라면 이것을 사용하십시오 (확인을 요구할 것입니다)

unzip -l filename |  awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {} 

이름에 공백이있는 파일이 있으면 실패합니다 ... (지금 +1을 -i편집 하면 :)
— sarnold

문제는 awk '{print $4}'-파일 이름에 공백이있을 수 있습니다 $4 $5 $6 .... :)
— sarnold

1
확인. 그것도 고쳤다.
— Abhijeet Rastogi 2012

5
FTR 또한 원본 zip 파일을 삭제합니다
— sjr

내 길 :unzip -l foo.zip | awk 'NR>3{print $NF}' | egrep -v '\--|files'|xargs rm -r
— zhuguowei

5

당신은 거친 지점에 있습니다. 표준 zipinfo(1)유틸리티는 아카이브에서 명확한 파일 이름을 가져 오는 메커니즘을 제공하지 않습니다. 그러나 가까이 오실 수 있습니다.

zipinfo -1 /path/to/zip/file.zip | xargs -d '\n' rm -i

줄 바꿈 파일이없는 파일이 확실하지 않은 경우 -i옵션을 제거 할 수 있습니다 rm(1)(확실히 지루할 것임).


4
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}

유틸리티를 -Z호출 하기 때문에 작업을 수행 zipinfo하고 -1옵션은 파일 이름 만 인쇄하도록 지시합니다.

이것에 대한 자세한 내용 man unzip과 man 1 zipinfo명령 을 찾을 수 있습니다


1

폴더를 먼저 만들지 않고 실수로 압축을 푼 후 디렉토리를 정리하려면 폴더를 만들고 압축을 풀고 다음을 수행하십시오.

rm -r ` ls folder `

"`"는 명령을 연결하는 데 매우 유용하지만 매우 문자 그대로입니다.

주석은이 답변을 향상 시켰습니다. 숨겨진 파일도 제거하려면 (아마도)

rm -r ` ls -A folder `

잘못된 구문으로 돌진하여 죄송합니다. 투표를 제거 할 수 있습니까?
— chrispepper1989

1
zip이 파일 덮어 쓰기를 거부하면 원본이 삭제됩니다. 숨겨진 파일이 압축 해제 된 경우을 사용하지 않는 한 제거되지 않습니다 ls -a.
— gmarmstrong

1
또는 오히려 ls -A, 목록에서 오류를 방지하기 위해 .와..
— gmarmstrong

0

명령 줄없이 노틸러스에서 파일을 추출하려면 실수로 파일을 추출한 위치로 이동하여 "수정"탭을 클릭하여 파일을 정렬 한 다음 정확한 시간으로 레이블이 지정된 모든 파일을 선택하고 삭제하면됩니다. 압축 해제 명령을 실행하십시오.


1
질문을주의 깊게 다시 읽으십시오. 귀하의 답변은 원래 질문에 대한 답변이 아닙니다 . 불행히도 Linux에는 Windows 탐색기가 포함되어 있지 않습니다.
— DavidPostill

아! unzip이 지금까지 Windows 터미널 명령이 아니었던 것은 나에게 일어나지 않았습니다. 감사! 노틸러스에 비슷한 기능이 있는지 확인하고 답변을 편집하겠습니다. 그렇지 않으면 그냥 제거하겠습니다.
— cameronroytaylor

-1
unzip -Z -1 /path/to/zip/file.zip | xargs -I{} rm -rf {}

2
이것이 질문에 대한 답변이 될 수 있지만, 그 이유에 대한 설명을 제공 할 수 있다면 더 나은 답변이 될 것 입니다.
— DavidPostill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.