GNU/Linux >> Znalost Linux >  >> Linux

Jak vypsat názvy tiskáren přijatelné pro použití s ​​lpr?

$ lpstat -p -d

Z manuálu CUPS.


K získání seznamu můžete použít:

lpstat -a

nebo

cat /etc/printcap

Chcete-li vytisknout pouze názvy tiskáren:

lpstat + čtení + pole:

$ while read l; do l=($l); echo "${l[0]}"; done <<< "$(lpstat -a)"

lpstat + awk:

$ lpstat -a | awk '{print $1}'

lpstat + cut:

$ lpstat -a | cut -f1 -d ' '

cat + grep + cut v /etc/printcap :

$ cat /etc/printcap | cut -f1 -d'|' | grep '^#' -v

Toto je zobrazeno, jeden na řádek:

HP_LaserJet_P1606dn
HP_Deskjet_2540_series
HP_LaserJet_M1212nf
GCP-Save_to_Google_Docs

Cítím se jako lpstat řešení jsou elegantnější a spolehlivější. Většinou proto, že /etc/printcap nebyl nalezen na některých systémech, které jsem testoval.

O použití awk nebo cut , záleží na tom, co máte nainstalované a preferujete. Možnost čtení bash + pole bash by měla fungovat na jakémkoli bash shellu bez potřeby externích zařízení.

UPRAVIT: Řekl jsem, že označené řešení pro mě na Amazon Linux nefunguje. Ale myslím, že to funguje, pokud chcete pouze zkopírovat názvy tiskáren z poloviny zbytku výstupu. Funguje stejně jako použití pouze lpstat -a .

$ lpstat -p -d
printer HP_Deskjet_2540_series is idle. enabled since Tue 22 Dec 2015 01:12:10 PM BRST
. . .
printer GCP-Save_to_Google_Docs is idle. enabled since Tue 15 Dec 2015 02:13:33 AM BRST
system default destination: HP_LaserJet_P1606dn

Linux
  1. Jak používám Vagrant s libvirt

  2. Jak používat příkaz ethtool s příklady

  3. Jak vytvořit seznam domén s DNSSEC

  1. Jak používám Ansible a anacron pro automatizaci

  2. Doporučený správce seznamu adres pro použití s ​​Postfixem?

  3. Jdi do toho – moderní seznam úkolů s časovačem

  1. Jak používat export s Pythonem na Linuxu

  2. Jak nainstalovat PhantomJS pro použití s ​​Python Selenium na Raspberry Pi?

  3. Jak vypíšu všechny uživatele s rootem?