I have a .zip file (it contains multiple files, e.g.,
file3.txt) in a directory.
How can I extract the files from the zip archive into the very same directory? And how can I create the list of all the files extracted from the zip archive?
The extracted file name should be printed like this in the file named: file_list:
file1.txt file2.txt file3.txt filen.txt
I have tried the following command assuming that my .zip file name is "data.zip".
unzip -qoj data.zip | unzip -ql data.zip > file_list
I have used
unzip -qoj data.zip to extract all the files in the same directory (quietly, overwrite, junk_path). When I try to insert
-l with the first unzip command, the command doesn't extract the file in the current directory, and only files are listed. That's why I have to use unzip again after the first pipe. (If I am making a mistake here, please let me know.)
I get the following output:
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
How do I extract only
file3.txt from this stdout?
Is it possible to do this with a Linux command, or do I have to write a perl script for this?