Script shell per ottenere l'IP

Spesso ho bisogno di conoscere il mio indirizzo IP, quindi ho deciso di creare uno script shell (molto semplice) che rilascio sotto il pubblico dominio. Ha bisogno del comando wget, ma penso che possa essere adattato facilmente anche a curl o simili. Lo script vi dà sia l’IPv4 che l’IPv6, se disponibile.

#!/bin/bash
IP4=$(wget -q -O- -4 http://wtfismyip.com/text)
IP6=$(wget -q -O- -6 http://wtfismyip.com/text)
if [ $? -eq 0 ]; then
	echo "IPv4: $IP4"
	echo "IPv6: $IP6"
else
	echo "IP: $IP4"
fi

Scansioni... veloci

Purtroppo a casa non ho uno scanner che faccia da solo le scansioni di più fogli, devo accontentarmi del mio Epson Perfection.

Però ecco qui uno script bash utile che permette di fare velocemente le scansioni:

i=0; s=''; while [ "$s" != "e" ]; do scanimage --resolution 200 > image$i.pnm; convert image$i.pnm image$i.jpg; rm image$i.pnm; echo -n 'Immagine '; echo $i; let "i=i+1"; read s; done

In pratica prima dovete mettere un foglio, poi avviate lo script e farà il primo foglio. Continuate a premere invio per scannerizzare le pagine successive o “e” per uscire dal loop.

Ovviamente è uno script di pubblico dominio 😉

Rinominare le cartelle Album (yyyy) in yyyy - Album in automatico

Una delle cose che mi piace è vedere gli album ordinati cronologicamente, quindi li chiamo Anno - Album.

Però spesso mi trovo con cartelle che si chiamano Album (Anno), così ho fatto uno script bash per rinominarli in automatico.

cd cartella/che/li/contiene/
for i in *; do mv "$i" "`echo $i | grep -P \([0-9]{4}\) -o` - ` echo $i|sed s/\ \([0-9]*\)//`"; done

Mi sa che ci mettevo meno a rinominarli a mano che a fare sta espressione regolare ma almeno così ce l’ho già pronta per le prossime volte.

Convertire da shell da a basi numeriche diverse

Per convertire da shell per esempio binario a esadecimale etc basta usare il comando bc.

echo "ibase=base_di_partenza; obase=base_di_arrivo; numero" | bc

Potrete convertire da qualsiasi base.