Відповідно до цього питання та відповідей на “Unix & Linux Stack Exchange”, ви можете отримати лише список встановлених принтерів через lpstat -s
або за допомогою sudo
( sudo lpstat -s
) для отримання повного шляху до пристрою. А може, використовуючи nmap -A
?
Все , що сказав, можливо , використовуючи arp
з grep
і sed
прикутий разом з трубами ( |
) може працювати в такий спосіб:
arp -a | grep Printer | awk '{ print $2 }' | sed 's/[()]//g'
Ця команда розпадається так:
arp -a
показав би вам весь арп-трафік.
grep Printer
буде аналізувати arp -a
вихід для рядків, що містять Printer
ім'я.
awk '{ print $2 }'
захоплює IP-адресу, але з дужками ( (
/ )
) навколо них.
sed 's/[()]//g'
потім очищає IP-адресу, щоб видалити дужки.
Це означає, що у мене немає простого способу перевірити цю концепцію на моїх локальних налаштуваннях - оскільки у мене навіть немає одного Wi-Fi принтера в моїй мережі - але я припускаю, що це буде працювати. Можливо, grep
аргумент слід налаштувати на «принтери» або, можливо, «надрукувати»; Я не знаю точно. Це в основному ідеї мозкового штурму, які, сподіваємось, допоможуть вам вирішити цю проблему або принаймні встановити вас на правильний шлях.