Stampare automaticamente i file messi in una cartella

17 ottobre 2009

Bash, Linux

Ieri per un amico mi sono ritrovato a dover scrivere uno script bash che messi dei file PDF,DOC,TXT si occupa in automatico di inviarli alla stampante predefinita in CUPS.
Sostamzialmente lo script una volta avviato non fa altro che provare ad intervalli di 10 secondi il comando ls, passarlo al grep così da filtrare i tipi di file e stamparli.

#!/bin/bash
 
INTERVAL=10
INTERVALTOREMOVE=2
echo
echo "Automated Printing Started."
echo
while [ 0 ]
do
	for elemento in $(ls $1 | grep ".*.pdf$\|.*.doc$\|.*.txt$")
	do
		lp $1$elemento
		sleep $INTERVALTOREMOVE
		rm $1$elemento
	done
   sleep $INTERVAL
done
exit 0

Per utilizzare lo script basta semplicemente avviarlo e come parametro passargli la cartella da monitorare, es. /home/Predator/

Se ti è stato utile il mio articolo, spendi un secondo del tuo tempo e dammi un +1, Google ed io ne saremmo felici 🙂 Grazie mille 🙂
,

4 Responses to “Stampare automaticamente i file messi in una cartella”

  1. fabio Says:

    ciao cè un sistema per poter mandare in stampa automatica tutte le email in arrivo??

  2. Alessandro Musacchio Says:

    Ciao Fabio,
    dovrebbe essere possibile 😉
    dimmi con che protocollo ti interessa accedere alla casella email (pop3,imap,…) che do un’occhiata e vedo se i posso fare uno script piccolino che faccia al caso tuo 😉

  3. Francesco Says:

    Ciao e scusami per l’ignoranza. Non ho mai programmato ed ho aperto il terminale su linux solo 5 volte, ma vorrei utilizzare il tuo script per stampare automaticamente i file che vengono messi in una cartella.
    Ho inserito il tuo script su vim ed ho salvato il file. Quando eseguo lo shell script appena salvato mi dice:
    “Automated Printing Started.

    sleep: operando mancante
    Try ‘sleep –help’ for more information”.
    Potresti spiegarmi cosa significa e come passare allo script, come parametro, la cartella da monitorare?
    Grazie e scusami ancora per l’ignoranza.

  4. Alessandro Musacchio Says:

    Ciao Francesco, scusami ma solo ora mi sono accorto del tuo messaggio 🙁 credo e spero che oramai avrai già risolto senza il mio aiuto 😉

Leave a Reply

*