Печать состояния файлов, обрабатываемых при использовании find

Я использую multi-procs в «xargs» для обработки множества zip-файлов. Как отобразить количество файлов, обработанных в мультипроцессах?

find -type f -iname \*.zip | xargs -IZ -P 5 sh -c 'unzip "Z"' 

Как я могу получить текущее количество обрабатываемых файлов.? Я просто хотел бы знать, сколько файлов уже обработано до сих пор ..? Предположим, у меня есть 1k zip-файлов, которые мне нужно знать, сколько zip-файлов было обработано до сих пор, как .. «Обработка файла: 200» «Обработка файла: 400» или «Обработка файла: 405 из 1000»

Благодаря..

  • Как я могу создать файл, который я получил из stdin без xargs
  • поиск имен папок на основе списка, содержащегося в файле .txt
  • Найдите строку в файле и переименуйте несколько файлов в результаты
  • Как получить текущий счет строки из xargs?
  • 'find -mtime -1 -print | xargs tar 'архивирует все файлы из каталога, игнорируя аргумент -mtime -1
  • Трубопровод нескольких строк в сценарии bash
  • Выполнение нескольких команд с помощью xargs
  • Как использовать `yes` с` xargs -p`?
  • One Solution collect form web for “Печать состояния файлов, обрабатываемых при использовании find”

    Попробуй:

     find -type f -iname \*.zip | xargs -IZ -P 5 sh -c 'unzip "Z"; echo "Z" >> done.txt' 

    и wc -l done.txt чтобы узнать, сколько всего сделано, или cat done.txt чтобы просмотреть их список.

    Обратите внимание, что он будет терпеть неудачу, если новый символ строки присутствует в любом имени файла. Если у вас есть что-то, чем использовать echo one_more вместо echo "Z" чтобы получить хотя бы то, что вы просили.

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