Предполагается, что ни один из файлов не имеет пробелов в именах:
unzip -l filename.zip | awk '{print $NF}'
Мой вывод распаковки имеет как верхний, так и нижний колонтитул, поэтому сценарий awk становится:
unzip -l filename.zip | awk '/-----/ {p = ++p % 2; next} p {print $NF}'
Версия, которая обрабатывает имена файлов с пробелами:
unzip -l filename.zip | awk '
/----/ {p = ++p % 2; next}
$NF == "Name" {pos = index($0,"Name")}
p {print substr($0,pos)}
'