Eu tenho mais de 100 arquivos rar que eu quero extrair usando o comando exec
do find. Eu gostaria de ver a saída rar comum para que eu possa monitorar seu progresso, e também canalizar a saída para grep
e depois para wc
para contar as linhas 'All OK' (que rar imprime se um arquivo é extraído com sucesso).
Eu testei com o seguinte comando (sem o componente wc -l
final), que foi projetado para encontrar 2 arquivos rar, mas que simplesmente imprimiram 4 linhas 'All OK', 2 para cada um dos 2 arquivos rar que foram extraídos .
$ find -iname 'TestNum*.rar' -execdir rar e '{}' \; | tee - | grep -i 'All OK'
All OK
All OK
All OK
All OK
Note: 2 archives extracted, but 4 'All OK' lines, and none of rar's output.
O que eu queria era algo como:
$ find -iname 'TestNum*.rar' -execdir rar e '{}' \; | ... ???
Extracting from TestNum1.rar
All OK
Extracting from TestNum2.rar
All OK
2
A linha final com apenas 2 sendo a saída wc -l
, mostrando o número real de correspondências de 'Tudo OK'.
Isso é possível? Obrigado.
EDIT @ 2018-04-25 19:21
Acabei de perceber que eu poderia fazer o seguinte, que funciona bem:
find . -iname 'TestNum*.rar' -execdir rar e '{}' \; | tee rar_out
grep -i 'All OK' rar_out | wc -l
Ainda está fora de interesse o que eu pedi originalmente possível?