O snippet de código que você forneceu requer uma modificação, você precisa de -print0 em vez de print 0 .
Este script encontrará ( find ) todos os arquivos com extensão txt em /home/mike/Duck/ , enviará para a impressora ( lpr ) um de cada vez e, em seguida, se isso retornar um sucesso ( && ) então o arquivo será movido ( mv ) para /home/mike/Duck/printed/ .
Se você deseja imprimir arquivos com extensões, use:
find /home/mike/Duck/ -type f -name '*.*' -print0 | while IFS= read -r -d '' f;
do lpr "$f" && mv -i "$f" /home/mike/Duck/printed/ ; done
Isso pressupõe que todos os arquivos com extensões estão no formato file.ext e também imprimirá os arquivos com vários pontos. O -i com mv fornecerá um aviso antes de sobrescrever.
Observe também que isso pode ser feito usando apenas find :
find /home/mike/Duck/ -type f -name '*.*' -exec lpr {} \; -exec mv -i {} /home/mike/Duck/printed/ \;