내 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