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/ \;