De acordo com este tópico de perguntas e respostas sobre o "Unix & Linux Stack Exchange ” você só pode obter uma lista de impressoras instaladas através de lpstat -s
ou usando-o com sudo
( sudo lpstat -s
) para obter um caminho completo do dispositivo. Ou talvez usando nmap -A
?
Tudo isso dito, talvez usando arp
com grep
e sed
encadeados com pipes ( |
) pode funcionar assim:
arp -a | grep Printer | awk '{ print $2 }' | sed 's/[()]//g'
Esse comando se divide assim:
-
arp -a
mostraria todo o tráfego arp. -
grep Printer
analisará a saídaarp -a
das linhas que têmPrinter
no nome. -
awk '{ print $2 }'
pega o endereço IP, mas com parênteses ((
/)
) ao redor deles. -
sed 's/[()]//g'
, em seguida, limpa o endereço IP para remover os parênteses.
Dito isso, não tenho uma maneira fácil de testar esse conceito em minha configuração local, pois não tenho uma impressora Wi-Fi na minha rede, mas presumo que funcione. Talvez o argumento grep
deva ser ajustado para “impressoras” ou talvez “imprimir”; Eu não sei com certeza. Estas são principalmente ideias de brainstorming que, esperamos, o ajudarão a resolver este problema ou, pelo menos, a colocá-lo no rumo certo.