请有人解释一下这些命令和选项到底起什么作用:
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
,它还将打印具有多个点的文件。在覆盖之前, -i
withmv
会给您提示。
另请注意,这仅可使用以下方法完成find
:
find /home/mike/Duck/ -type f -name '*.*' -exec lpr {} \; -exec mv -i {} /home/mike/Duck/printed/ \;