명령 줄에 추가 정보없이 zip 파일을 나열하는 방법 05-07-2014 15:09 file1.txt

내 bash 명령 줄에서 사용할 때 unzip -l test.zip다음과 같은 출력이 표시됩니다.

Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
   810000  05-07-2014 15:09   file1.txt
   810000  05-07-2014 15:09   file2.txt
   810000  05-07-2014 15:09   file3.txt
---------                     -------
  2430000                     3 files

그러나 파일 세부 정보가 포함 된 줄에만 관심이 있습니다.

grep을 사용하여 다음과 같이 필터링하려고했습니다.

unzip -l test.zip | grep -v Length | grep -v "\-\-\-\-" | g -v Archive | grep -v " files"

그러나 길고 오류가 발생하기 쉽습니다 (예 :이 목록의 파일 이름 Archive가 삭제됨)

unzip -l (unzip 맨 페이지를 확인했지만 찾지 못했습니다) 또는 다른 도구가있는 다른 옵션이 있습니까?

아카이브의 압축을 풀지 않고 내부의 파일을 보는 것이 중요합니다.



답변

zipinfo -1 file.zip

또는:

unzip -Z1 file.zip

파일 만 나열합니다.

여전히 각 파일 이름에 대한 추가 정보를 원하는 경우 다음을 수행 할 수 있습니다.

unzip -Zl file.zip | sed '1,2d;$d'

또는:

unzip -l file.zip | sed '1,3d;$d' | sed '$d'

또는 (GNU 가정 head) :

unzip -l file.zip | tail -n +4 | head -n -2