У меня есть .zip файл (он содержит несколько файлов, например, file1.txt
, file2.txt
, file3.txt
) в каталоге.
Как я могу извлечь файлы из архива zip в тот же самый каталог? И как я могу создать список всех файлов, извлеченных из архива zip?
Извлеченное имя файла должно быть распечатано как это в названном файле: file_list:
file1.txt
file2.txt
file3.txt
filen.txt
Я попробовал следующую команду, предполагающую, что моим .zip именем файла является "data.zip".
unzip -qoj data.zip | unzip -ql data.zip > file_list
Я использовал unzip -qoj data.zip
извлечь все файлы в том же каталоге (бесшумно, перезапись, junk_path). Когда я пытаюсь вставить -l
с первым разархивировали команду, команда не извлекает файл в текущем каталоге, и только файлы перечислены. Вот почему я должен использовать, разархивировали снова после первого канала. (Если я делаю ошибку здесь, сообщите мне.)
Я получаю следующий вывод:
Length Date Time Name
-------- ---- ---- ----
0 12-21-09 14:25 data/
6148 12-21-09 14:25 data/.DS_Store
0 12-21-09 14:25 __MACOSX/
0 12-21-09 14:25 __MACOSX/data/
82 12-21-09 14:25 __MACOSX/data/._.DS_Store
82 12-11-09 13:59 data/file1.txt
120 12-11-09 13:59 data/file2.txt
166 12-11-09 13:59 data/file3.txt
-------- -------
6598 8 files
Как я извлекаю только file1.txt
, file2.txt
, file3.txt
от этого stdout?
Действительно ли возможно сделать это с командой Linux, или я должен записать сценарий жемчуга для этого?
unzip data.zip data/file1.txt data/file2.txt data/file3.txt