Відповідно до цього питання та відповідей на “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аргумент слід налаштувати на «принтери» або, можливо, «надрукувати»; Я не знаю точно. Це в основному ідеї мозкового штурму, які, сподіваємось, допоможуть вам вирішити цю проблему або принаймні встановити вас на правильний шлях.