Tag bash

Connettersi in modalità telnet a Gmail e a server IMAPs

Ciao a tutti!

Qualche giorno fa ho avuto la necessità di effettuare un backup di sicurezza di tutti i messaggi contenuti all’interno di una casella di posta elettronica Gmail e, per fare ciò, ho utilizzato un comodissimo software per Mac OS, chiamato Gmail Backup.

Tuttavia, durante la copia delle tante email, l’applicazione in questione si è bloccata, a causa di un messaggio che non poteva essere recuperato per motivi non molto chiari (il file di log del software in questione non era dettagliato).

L’unica cosa che riportava il log di Gmail Backup era l’UID della email.

Per questo motivo, ho cercato di capire quale fosse il messaggio in questione e, nel far questo, ho pensato che fosse utile effettuare un collegamento telnet al server IMAPs di Gmail (tramite il terminale e la BASH) e ottenere informazioni circa il messaggio.  Ciò, considerato che Gmail non sembra dare la possibilità di effettuare ricerche dei messaggi email mediante la propria interfaccia WEB basate sugli UID dei messaggi.

Dato che ritengo che questa possa essere una cosa utile non soltanto a me, bensì a tutti coloro che hanno problemi analoghi al mio, ho deciso di scrivere questo post e di condividere questa mia esperienza.

Tag, , , , , , , , , , , , , , , , , , Maggiori informazioni

Pillole Linux: usare la BASH e SED per inserire una riga nel bel mezzo di un file!

Oggi vediamo come inserire, con i comandi che Linux ci mette a disposizione, una riga nel bel mezzo di un file, prima o dopo un particolare contenuto. Per fare ciò, utilizziamo il comando sed.

Supponiamo di avere un file di testo (file.txt) con il seguente contenuto:

topolino
pippo
pluto
gamba di legno

Vogliamo inserire una riga con la scritta “clarabella” subito dopo la riga “pippo“. Ecco il comando sed da utilizzare:

sed "/pippo/aclarabella" file.txt

Questo comando utilizza le “espressioni regolari” per trovare la riga “pippo” (“/pippo/”).

La lettera “a” posta dopo la seconda slash “/”, indica a sed di aggiungere la scritta che segue dopo la riga “pippo” (“a” = append).

Infine, file.txt è il file di input. Il comando sed invia il risultato sullo standard output. Se vogliamo salvare il nuovo file, possiamo utilizzare il seguente comando:

sed "/pippo/aclarabella" file.txt > file_modificato.txt

Con sed possiamo anche inserire del contenuto PRIMA della riga “pippo“. Basta sostituire la lettera “a” con la “i” (insert, o prepend):

sed “/pippo/iclarabella” file.txt > file_modificato.txt

Inoltre, possiamo aggiungere più righe o un intero file, utilizzando la lettera “r”:

sed ‘/pippo/r righe_da_aggiungere.txt’ file.txt > file_modificato.txt

Happy BASH!

Tag, , , , , , , ,

Ciclo infinito WHILE in BASH: Sintassi

Ciao a tutti i lettori!

Mi capita spesso di scrivere script per la shell BASH di Linux. E, altrettanto spesso, mi trovo a fare i conti con alcune problematiche che mi impongono di inserire, all’interno di questi script, delle strutture cicliche.

In particolare, oggi ho avuto la necessità di inserire un ciclo infinito all’interno di uno script per l’attivazione continua di un servizio di rete. Ovviamente, si è trattato di un “accrocco”, ma capita spesso di avere la necessità di realizzare cicli infiniti per altre cose.

Per questo motivo, invio questo post “estemporaneo” (direttamente tramite email inviata dal mio smartphone), sul terminale di Linux, per riportare velocemente la sintassi del comando while che ho utilizzato per raggiungere il mio scopo.

La sintassi di una struttura ciclica while per effettuare un ciclo infinito è la seguente:

while true; do
    echo “comando da eseguire in modo ciclico”
done

Spero che possa essere utile!
A presto!

Tag, , , , , , , , , ,

Divertirsi con la shell (bash) di Linux

Quella che vi propongo in questo e negli articoli che scriverò in seguito in questa sezione è una serie di comandi e trucchetti che possono essere utilizzati grazie alla shell bash, per far fare al nostro Linux le cose più disparate…

Livello: Qualsiasi, purché si sappia come accedere alla shell di Linux

Tag, , , , , Maggiori informazioni