Dependendo da sua implementação / versão de watch , pode não iniciar um shell para interpretar uma linha de comando, mas, em vez disso, executa um comando que aceita como argumento os argumentos recebidos. Então, nesse caso, se você precisar executar uma linha de comando do shell, precisará iniciar um shell explicitamente como em:
watch sh -c 'find . | wc -l'
Veja também o comando inotifywait -rm . (se no Linux) para monitorar a atividade em um diretório.
Observe também que find . | wc -l retorna apenas o número de arquivos (excluindo as entradas .. ) se os nomes dos arquivos não contiverem caracteres de nova linha. Se isso pode ser um problema, você poderia fazer:
find .//. | grep -c //
Observe também que não há nenhum utilitário GNU ou Unix com o nome watch . Há um comando watch no conjunto de ferramentas procps para o Linux, há uma implementação de watch no busybox. Em BSDs, watch faz algo completamente diferente. watch não é um comando padrão (em nenhuma das especificações POSIX, Unix ou LSB).