Эта команда должна провалиться, потому что -delete выполняется перед выполнением, а также потому, что в любом случае ваш скрипт читает только данные, вводимые из stdin.
найти /mailpath/Maildir/cur/ -тип f -delete -exec php -q /scriptpath/mailPipe.php {}. \;
Я предлагаю вам это сейчас:
найти. -тип f -exec sh -c "php -q /scriptpath/mailPipe.php
Которые производят это :
for i in `seq -w 1 10`; do echo $i > nonce-$i; done; ls
nonce-01 nonce-02 nonce-03 nonce-04 nonce-05 nonce-06 nonce-07 nonce-08 nonce-09 nonce-10
Выполнение находки:
find . -type f -exec sh -c "wc -l < '{}'" \; -delete ; ls
1
1
1
1
1
1
1
1
1
1
Можете ли вы попробовать это? (сделать резервную копию /mailpath/Maildir/cur/ до)
Это все в одной команде, без пипсовки find с другими командами, что может быть довольно запутанным.
Это даже лучше, потому что если возврат sh является ошибкой, то он не удалит файл вообще, порядок следования команд в find зависит.
Также я советую вам прочитать это http://mywiki.wooledge.org/UsingFind