我在“xargs”中使用多进程来处理一堆 zip 文件。如何显示多进程中处理的文件数?
find -type f -iname \*.zip | xargs -IZ -P 5 sh -c 'unzip "Z"'
我怎样才能获得当前正在处理的文件数量..?我只是想知道到目前为止已经处理了多少文件..?假设我有 1k zip 文件,我需要知道到目前为止处理了多少个 zip 文件,例如“处理文件:200”“处理文件:400”或“处理文件:1000 个中的 405 个”
谢谢..
答案1
尝试:
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"
它来至少得到你想要的东西。