Поведенческая задача для unzip’а

Для тех кто пользуется командно-строчным zip/unzip. Или помнит как это делается.

Вопрос первый.
У нас в директории два zip файла: a.zip с файлами a1.txt, a2.txt и b.zip с файлами b1.txt, b2.txt. Проверяем:

$ unzip -l a.zip
Archive: a.zip
Length    Date        Time    Name
——–    —-          —-      —-
12      01-29-06      18:17    a1.txt
12      01-29-06      18:09    a2.txt
——–                              —–
24                                    2 files

$ unzip -l b.zip
Archive: b.zip
Length    Date        Time    Name
——–    —-          —-      —-
12      01-29-06      18:17    b1.txt
12      01-29-06      18:09    b2.txt
——–                              —–
24                                    2 files

А теперь выполним команду:

$ unzip -l *.zip

Что увидим?

Вопрос второй.
А если чуть-чуть видоизменить команду:

$ unzip -l “*.zip”

Что увидим?

Вопрос третий.
Как надо?

Ответы я знаю. Потратил пару часов, прежде чем понял почему скрипт на 350 строк не работает, причем строчка вызова этого разнесчастного unzip выглядела так:

unzip -l $1 | tr -s “\t ” ” ” | grep -e “^ [0-9]” | cut -d ” ” -f 5 > $2