Eu li aqui que você pode contar o número de invocações commandno -exec command {} +canalizando | wc -laté o final dele.
Embora eu entenda que isso -execdiré diferente, para cada subdiretório correspondente finddescoberto, ele executa uma invocação do commandsubdiretório em que está contido, se eu tiver mais de um arquivo que corresponda a um subdiretório, eu acabo com o número de invocações igual ao número de subdiretórios correspondentes, e não o número de invocações que correspondem ao número de arquivos correspondentes nesses subdiretórios?
Estou terminando com o último quando executo o seguinte:
$ find . -name "bob*" -execdir echo {} + | wc -l
A página de manual dos execdir command {} +estados em que o primeiro deve ser o caso:
Assim como a
-execação, a+forma de-execdircriará uma linha de comando para processar mais de um arquivo correspondente, mas qualquer chamada especificadacommandlistará apenas os arquivos existentes no mesmo subdiretório.
ie
Estou entendendo:
./file1inDir1
./file2inDir1
./file3InDir2
./file4InDir3
Quando estou esperando isso, com base na página de manual:
./file1inDir1 ./file2inDir1
./file3InDir2
./file4InDir3
echoe os argumentos forem gerados{} +e você não tiver novas linhas em seus nomes de arquivos (a maioria das pessoas não) ENTÃO, o número de linhas é o número de chamadas e ele funciona. Se comando é dizerhead -n 999000 /dev/urandomque dá terrivelmente errado.