GNU/Linux >> Linux Esercitazione >  >> Linux

Come elencare i nomi delle stampanti accettabili per l'uso con lpr?

$ lpstat -p -d

Dal manuale CUPS.


Per ottenere un elenco puoi usare:

lpstat -a

o

cat /etc/printcap

Per stampare solo i nomi delle stampanti:

lpstat + lettura + array:

$ 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 in /etc/printcap :

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

Questo è ciò che viene mostrato, uno per riga:

HP_LaserJet_P1606dn
HP_Deskjet_2540_series
HP_LaserJet_M1212nf
GCP-Save_to_Google_Docs

Mi sento come il lpstat le soluzioni sono più eleganti e affidabili. Principalmente perché /etc/printcap non è stato trovato su alcuni sistemi che ho testato.

Informazioni sull'uso di awk o cut , dipende da cosa hai installato e preferisci. L'opzione bash read + bash array dovrebbe funzionare su qualsiasi shell bash senza bisogno di elementi esterni.

MODIFICA : Ho detto che la soluzione contrassegnata non funziona per me su Amazon Linux. Ma immagino che funzioni se vuoi solo copiare i nomi delle stampanti dalla metà del resto dell'output. Funziona come usare solo 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. Come uso Vagrant con libvirt

  2. Come utilizzo Ansible e anacron per l'automazione

  3. Come utilizzare il comando ethtool con esempi

  4. Mailing List Manager consigliato per l'uso con Postfix?

  5. Come utilizzare l'esportazione con Python su Linux

Come utilizzare Avidemux per l'editing video

Come utilizzare il comando Linux rm con esempi

Come utilizzare PostgreSQL con l'applicazione Ruby On Rails

Come utilizzare una chiave SSH con utenti non root

Come usare il comando di spegnimento con esempi

Come elencare i filesystem in Linux con lfs