如何在 macOS shell 脚本中提取默认打印机描述(友好名称)(使用 awk 中的变量)

问题描述 投票:0回答:1

我正在尝试编写一个 macOS shell 脚本,它可以使用默认打印机的描述(友好名称)作为变量。我已经走到这一步了:

#!/bin/bash
default_printer_info=$(lpstat -d)
printer_name=$(echo $default_printer_info | awk '{print $4}')
lpstat -l -p | awk 'c&&!--c;/'"$printer_name"'/{c=4}' | grep Description: | cut -d " " -f2-

这不起作用 - 尽管如果我手动将

$printer_name
变量的内容输入
awk
字符串(例如,
PDFwriter
),这些命令中的最后一个可以正常工作。

任何人都可以帮忙将

$printer_name
变量放入
awk
字符串中吗?我尝试过
awk -v VAR="$printer_name" ...
的各种组合和类似的努力,但没有成功。

variables awk
1个回答
0
投票

您可以通过一个命令来完成此操作,如下所示:

lpstat -l -p |
awk -F ': ' -v prt="$(lpstat -d | awk '{print $NF}')" '
c && !--c && /Description:/ {print $2; exit}
$0 ~ prt {c=4}'
© www.soinside.com 2019 - 2024. All rights reserved.