从命令行打印

从命令行打印

请有人解释一下这些命令和选项到底起什么作用:

find /home/mike/Duck/ -type f -iname '*.txt' -print 0 | while IFS= read -r -d '' f;
 do lpr "$f" && mv "$f" /home/mike/Duck/printed/ ; done

如果我想打印该目录中的所有扩展,我该怎么办?

答案1

您给出的代码片段需要修改,您需要-print0而不是print 0

这个脚本会找到 ( ) 所有带有扩展名的find文件,然后将它们逐个发送到打印机 ( ),如果返回成功 ( ),则该文件将被移动 ( ) 到。txt/home/mike/Duck/lpr&&mv/home/mike/Duck/printed/

如果要打印具有任何扩展名的文件,请使用以下命令:

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

假设所有具有扩展名的文件都是 格式file.ext,它还将打印具有多个点的文件。在覆盖之前, -iwithmv会给您提示。

另请注意,这仅可使用以下方法完成find

find /home/mike/Duck/ -type f -name '*.*' -exec lpr {} \; -exec mv -i {} /home/mike/Duck/printed/ \;

相关内容