lpr
druckt aus, was per STDIN an ihn gesendet wird. Sie müssen also lpr
jede gefundene Datei mit find aufrufen :
find . -type f ! -name ".*" -print0 | xargs -0 lpr
-type f
sucht nach Dateien!
ist eine logische nicht, daher! -name ".*"
werden versteckte Dateien ausgelassen (mit Hilfe von https://superuser.com/a/101012/195224 )-print0
trennt die einzelnen Dateinamen mit,\0
so dass dies auch mit Dateinamen mit Leerzeichen funktioniert.xargs
führt sie schließlichlpr
mit der Liste der Dateinamen aus, die sie empfängt (-0
teilt wiederum mit, dass\0
sie als Trennzeichen verwendet wird).
Dieser Befehl listet nur Nicht-Punkt- Dateien auf, aber auch solche in Punkt- Verzeichnissen .
Wenn Sie auch dotdirs ausschließen möchten, erweitern Sie den find
Befehl auf
find . -type f ! -regex ".*/\..*" ! -name ".*"
Und schließlich, da einige Versionen lpr
offensichtlich ein Problem mit leeren Dateien haben, lassen Sie diese auch aus:
find . -type f ! -regex ".*/\..*" ! -name ".*" ! -empty
Als Nebenbemerkung: Um ein besseres Layout Ihres Ausdrucks (einschließlich Dateinamen) zu erhalten, sollten Sie in Betracht ziehen, lpr
durch zu ersetzen a2ps
.