Если архив содержит несколько файлов в корневом каталоге, я хотел бы создать каталог с именем по имени файла (без расширения). Если архив содержит только каталог, то я бы хотел просто распаковать его. Предположим, у меня есть следующий архив:
# file: withdir.zip
somedir/alpha
somedir/beta
somedir/gamma
Если я извлекаю его в текущем каталоге, я бы хотел, чтобы он был просто извлечен ( unzip withdir.zip
):
somedir/alpha
somedir/beta
somedir/gamma
Теперь предположим следующий архив:
# file: nodir.zip
alpha
beta
gamma
Когда я запускаю, unzip nodir.zip
я заканчиваю загромождать текущий каталог тремя файлами:
alpha
beta
gamma
Я бы лучше побежал unzip -d nodir nodir.zip
:
nodir/alpha
nodir/beta
nodir/gamma
Если я использую наутилус и щелкну правой кнопкой мыши на «Извлечь здесь». Он ведет себя именно так, как и должен. Но, к сожалению, я не нашел ключ командной строки для unzip
или
7z
которые дают такое же поведение. Как этого добиться? Есть ли другие инструменты, которые я могу использовать вместо (без графического интерфейса)?
withdir
для архива,withdir.zip
хотя он содержит только один каталог в корне, потому чтоgrep -c "Folder = -"
возвращает3
.