O motivo pelo qual você não obtém a saída é porque wc -l
está consumindo toda a saída. Você pode usar tee
em combinação com a substituição de processo para obter awk
para a saída para o console e também ler wc
:
inotifywait --format="%w%f" -rm /var/log/apache2/ | gawk '{ print }' | tee >(wc -l)
Isso ainda é um pouco problemático, pois inotifywait
é um comando que nunca sai, mas wc -l
não imprime a saída até ler todos os dados, neste caso, quando o pipe é fechado. Você pode fazer sua contagem diretamente em awk
:
inotifywait --format="%w%f" -rm /var/log/apache2/ | gawk 'BEGIN { total=0 } { print; total++; print total } END { print "final total: " total }'