Разархивируйте содержимое файла, но без создания папки архива

У меня есть файл myarchive.zip, который содержит много каталогов, файлов и т. Д. Скажем, этот файл myarchive.zip живет в каталоге с именем «b». Ну, когда я использую команду «unzip myarchive.zip», система создает каталог по умолчанию «myarchive» с содержимым zip-файла. Я не хочу, чтобы система создавала этот каталог «myarchive» – я просто хочу, чтобы содержимое было извлечено в каталог «b». Это возможно?

То, что я делаю сейчас, просто выдает команду «cp», чтобы скопировать файлы из вновь созданного каталога (в данном случае «myarchive» в «b») туда, где я их хочу.

2 Solutions collect form web for “Разархивируйте содержимое файла, но без создания папки архива”

Моя версия unzip имеет параметр -j чтобы не создавать какой-либо каталог.

Так

 unzip -j /path/to/file.zip 

Извлечет все файлы в текущий каталог без восстановления структуры каталога, хранящейся в zip файле.

Если вы хотите удалить только один уровень каталогов из архива (извлеките myarchive/dir/file как dir/file , а не file ), вы можете использовать bsdtar (который поддерживает файлы zip в дополнение к файлам tar ), а его -s .

 bsdtar -xf /path/to/file.zip -s'|[^/]*/||' 

Если выполнение unzip myarchive.zip создает каталог myarchive со всем в нем, то это означает, что создатель zip-файла фактически выполнил zip в этом каталоге.

Единственный способ создать то, что вы хотите, – просто перемещать все содержимое за пределами каталога после выполнения unzip :

[user@host]:some/path/b$ unzip myarchive.zip

[user@host]:some/path/b$ ls { показывает каталог myarchive }

[user@host]:some/path/b$ mv myarchive/* .

[user@host]:some/path/b$ rm -R myarchive

[user@host]:some/path/b$ ls { показывает первый уровень myarchive (непосредственно в b ) }

  • В сценарии оболочки, Как передать переменную другое значение после выполнения одного задания?
  • Неоднократно застегивая файл, который был недавно создан, но идентичен, однако shasum zip продолжает меняться
  • tar.bz2 7zip выборочная экстракция
  • почему бы вам tar zip-файл
  • Есть ли способ использовать sed или awk для фильтрации данных внутри заархивированного файла?
  • Как использовать `ожидать` с` zipcloak`?
  • Извлеките список .zip-файлов в один новый каталог каждый, имя каталога, которое будет взято из имени zip-файла
  • Как создать zip-каталогов -mtime -150
  • Как получить параметр extract / compress при щелчке правой кнопкой мыши?
  • file-roller: произошла ошибка при загрузке архива (Zip / 7z)
  • Можно ли получить «старую» временную марку?
  • Interesting Posts

    Как создать открытую точку доступа Wi-Fi без пароля в Linux Mint?

    Mutt: автоматическая подписка на почтовые ящики IMAP

    Загрузите файл образа NTFS, созданный с помощью partimage

    Как печатать в PDF при добавлении к существующему документу?

    inotifywait недопустимый параметр -d (демон)

    rpc.statd не запускается, но требуется для удаленной блокировки (statd unrecognized service)

    Нужно ли писать man-страницы для библиотеки C?

    Разница в сумме вывода pacsysclean vs. expac с использованием awk?

    В домашнем каталоге новых пользователей создайте подкаталог с определенной группой и разрешениями

    Почему авторизованный трафик должен быть разрешен с помощью iptables для доступа к Интернету?

    Как терминал может запускать программы и показывать их результаты?

    Как я могу определить, контролируется ли оболочка из SSH?

    Могу ли я вставить sudo через команду ^?

    Как удалить пробелы в столбцах?

    zsh-completion: Завершение двух частей аргумента, разделенных двоеточием

    Linux и Unix - лучшая ОС в мире.