如何通过命令查询到已完成的打印任务的打印页数,不使用lpstat命令
时间: 2024-03-03 22:53:44 浏览: 28
您可以通过查询CUPS日志文件来获取已完成的打印任务的打印页数。CUPS日志文件的默认位置是`/var/log/cups`目录下的`error_log`和`page_log`文件。
以下是一个查询已完成的打印任务的打印页数的示例命令:
```
grep "completed at" /var/log/cups/page_log | awk '{print $1, $NF}' | while read job_id pages; do echo "Job $job_id printed $pages pages"; done
```
该命令将查询CUPS打印系统的日志文件`/var/log/cups/page_log`,提取所有已完成打印任务的ID和对应的打印页数,并输出结果。
该命令将输出每个已完成的打印任务的ID和打印页数,例如:
```
Job 123 printed 10 pages
Job 124 printed 5 pages
Job 125 printed 8 pages
```
其中,123、124、125为已完成的打印任务的ID,10、5、8为对应打印任务的打印页数。
需要注意的是,如果您的CUPS日志文件不在默认位置,或者您的打印系统不是使用CUPS进行管理的,则需要相应修改查询语句。
相关问题
如何通过命令查询到已完成的打印任务的打印页数
您可以使用以下命令来查询已完成的打印任务的打印页数:
```
lpstat -W completed -o | awk '{print $1}' | xargs -I{} sh -c 'echo -n "{}: "; lpq -l -J {} | grep "pages" | awk "{print \$2}"'
```
该命令将先使用`lpstat -W completed -o`命令列出已完成的打印任务,然后使用`awk '{print $1}'`提取打印任务的ID,最后使用`lpq -l -J {} | grep "pages" | awk '{print $2}'`命令查询每个打印任务的打印页数。
该命令将输出每个已完成的打印任务的ID和打印页数,例如:
```
123: 10
124: 5
125: 8
```
其中,123、124、125为已完成的打印任务的ID,10、5、8为对应打印任务的打印页数。
lpq可以查询到已打印完成的任务的打印页数吗
不是的,lpq 命令不能查询已打印完成的任务的打印页数。 lpq 命令主要用于列出打印队列中的作业和打印机状态。
如果您需要查询已打印完成的任务的打印页数,可以使用以下命令:
```
lpstat -W completed -o | grep "job-id" | awk '{print $1}' | xargs -I{} sh -c 'echo -n "{}: "; lpq -l -J {} | grep "pages" | awk "{print \$2}"'
```
其中,`-W completed -o` 参数用于列出已完成的打印作业, `grep "job-id" | awk '{print $1}'` 用于提取作业ID, `lpq -l -J {}` 用于查找打印页数。
该命令将列出所有已完成的打印作业的打印页数。