4

У меня есть сценарий оболочки, где я распаковываю zip-файл, и его содержимое всегда будет в одной папке.

В моем коде я предполагал, что имя zip-файла будет отражать имя папки (например, папка с именем test всегда будет заархивирована как test.zip). Поэтому я извлекал имя папки из zip-файла.

Я ударил контрольно - пропускной пункт , где папка шнапса была Zipped в photos.zip. Теперь, если я извлечу имя папки из zip-файла, это будет неправильное имя папки.

Как я могу получить правильное название папки щелкает после разархивирования photos.zip?

3 ответа3

0

Я всегда использую dtrx (Do The Right Extraction) для всех своих потребностей распаковки. Скрипт определяет формат сжатия и вызывает нужную программу с правильными параметрами. Я настоятельно рекомендую это, и есть флаг, чтобы распаковать в папку, названную согласно файлу почтового индекса.

Скорее всего, dtrx находится в вашем менеджере пакетов и избавит вас от головной боли.

0

Вам лучше создать свой собственный каталог и использовать unzip -j чтобы все файлы в архиве были извлечены в этот один каталог.

0

Нашел способ сделать это!

распаковать -l photos.zip | awk 'NR == 4 {print $ 4}' | sed 's////'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .