Печать состояния файлов, обрабатываемых при использовании 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»

Благодаря..

  • find, xargs и mv: переименование файлов с двойными кавычками, расширение и проблема с приоритетом bash
  • Каков синтаксис для передачи вывода команды в xargs?
  • / usr / bin / awk: слишком длинный список аргументов
  • Скопируйте файлы с родительской папкой в ​​новый каталог
  • xargs и линейный трубопровод
  • git checkout конкретные файлы
  • Предоставление параметров scp с помощью xargs
  • 'git show' не передает управляющие символы для цвета
  • 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 - лучшая ОС в мире.