lpr
imprime, o que é enviado para ele via STDIN. Então você precisa invocar lpr
para cada arquivo encontrado por find:
find . -type f ! -name ".*" -print0 | xargs -0 lpr
-
-type f
procura arquivos -
!
não é lógico, portanto,! -name ".*"
omitirá arquivos ocultos (com alguma ajuda do link ) -
-print0
separa os nomes de arquivos individuais com
, de modo que isso também funcionará com nomes de arquivos com espaços em branco.xargs
-
lpr
finalmente executa-0
com a lista de nomes de arquivos que recebe (
informa novamente quefind
lpr
é usado como um delimitador).
Este comando irá listar apenas arquivos não-ponto, , mas também aqueles em dirs .
Se você também quiser excluir dotdirs , estenda o comando lpr
para
find . -type f ! -regex ".*/\..*" ! -name ".*"
E, finalmente, como algumas versões do a2ps
têm obviamente um problema com arquivos vazios , omita essas também :
find . -type f ! -regex ".*/\..*" ! -name ".*" ! -empty
Como um sidenote: Para obter um layout melhor de sua impressão (inclui o nome do arquivo), você deve considerar substituir %code% by %code% .