![Как рекурсивно распаковать только имена файлов во многих zip-файлах с помощью Linux](https://rvso.com/image/1336282/%D0%9A%D0%B0%D0%BA%20%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D0%BE%20%D1%80%D0%B0%D1%81%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D0%B8%D0%BC%D0%B5%D0%BD%D0%B0%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%20%D0%B2%D0%BE%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%B8%D1%85%20zip-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%D1%85%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Linux.png)
У меня есть несколько zip-файлов внутри каталога. В котором я хочу получить список файлов внутри каждого zip-файла. Я не хочу извлекать их в папку.
В настоящее время я могу их извлечь, после этого я могу получить только имена файлов. Но я не хочу извлекать zip-файлы, так как в системе есть ограничение по пространству. Пожалуйста, дайте совет.
решение1
Поскольку у вас есть несколько файлов, то для того, чтобы unzip -l
все из них были, вам нужно передать кавычки подстановочного знака в инструмент unzip, иначе оболочка расширит подстановочный знак и unzip получит несколько имен файлов. Поэтому вам нужно:
unzip -l "*.zip"
Эта "*.zip"
часть гарантирует, что unzip действительно получит *
символ в целости и сохранности.
решение2
unzip -l {myzipfile}
просто сообщит содержимое (имена файлов)