lpr
使用和选项打印多个文件时-p
,第一个文件的名称会打印在所有文件的标题中。如何修改此行为,以便在每个文件的标题中打印正确的文件名?
举例来说,可以使用以下任一命令打印三个文件“file1.txt”、“file2.txt”和“file3.txt”:
lpr -p file1.txt file2.txt file3.txt
lpr -p file*.txt
但是,在这两种情况下,“file1.txt”都会打印在每个文件的标题行中。我希望“file2.txt”打印在 file2 的标题中,依此类推(而不必像 那样分别打印每个文件lpr -p file1.txt; lpr -p file2.txt; lpr -p file3.txt
)。
答案1
这lpr 手册页状态:
-hheader Specify a title to be used on the banner page (if any).
Default title is the name of the file.
除此之外没有其他内容(意思是,正如它所说:“默认标题是文件的名称”,因为你没有传递参数-h
)。所以这看起来像是一种不当行为,至少乍一看是这样。再看一眼,我注意到你的-p
参数:
-p Add pr(1) style headers to each page (text only)
看看pr(1) 手册页:
use a centered HEADER instead of filename in page header, -h ""
prints a blank line, don't use -h""
我的猜测是,这个“居中标题”只计算一次,而不是针对每个文件单独计算。因此,您可以尝试不带参数的两种方法-p
来检查是否会导致问题 - 或者尝试第三种方法:
for myfile in file*.txt; do lpr -p $myfile; done
它将lpr
分别调用每个文件,从而使您摆脱所描述的问题。