Как получить имя файла и общее количество в zip (Linux) - PullRequest
0 голосов
/ 13 марта 2020

Как получить результат будет иметь имена файлов в начале общего количества файлов. Когда я запускаю командную строку ниже, отображается только количество файлов, но не имена файлов.

Я хотел бы иметь имя файла zip и считать количество документов в zip. Благодаря

вывод:

IAD1.zip 30000 files
IAD2.zip 24000 files
IAD3.zip 32000 files
.....

командная строка

zipinfo IAD${count}.zip |grep ^-|wc -l >>TotalCount.txt

с командой над результатом показать количество документов в zip-файлах:

30000
24000
32000
.....

1 Ответ

0 голосов
/ 14 марта 2020
 zipinfo  -h <file name>  |  tr '\n' ':'  | awk -F':'  '{print $2 , $5 , "files"}'

объяснение:

zipinfo  -h -- list header line.  The archive name, actual size (in bytes) and total number of files is printed.

tr '\n' ':' --  Replace new line with ":" 

awk -F':'  '{print $2 , $5 , "files"}' -- Read file as ":" delimited and print 2nd and 5th field

Демо:

:>zipinfo test.zip 
Archive:  test.zip
Zip file size: 2798 bytes, number of entries: 7
-rw-r--r--  3.0 unx       18 tx stor 20-Mar-10 13:00 file1.dat
-rw-r--r--  3.0 unx       32 tx defN 20-Mar-10 13:00 file2.dat
-rw-r--r--  3.0 unx       16 tx stor 20-Mar-10 12:26 file3.dat
-rw-r--r--  3.0 unx     1073 tx defN 20-Mar-12 05:24 join1.txt
-rw-r--r--  3.0 unx      114 tx defN 20-Mar-12 05:25 join2.txt
-rw-r--r--  3.0 unx      254 tx defN 20-Mar-11 09:39 sample.txt
-rw-r--r--  3.0 unx     1323 bx stor 20-Mar-14 09:14 test,zip.zip
7 files, 2830 bytes uncompressed, 1746 bytes compressed:  38.3%
:>zipinfo  -h test.zip  |  tr '\n' ':'  | awk -F':'  '{print $2 , $5 , "files"}'
  test.zip  7 files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...