martedì 12 ottobre 2010

Il comando "tree" su Mac OS X

Grazie a Murphy Mac: http://murphymac.com/tree-command-for-mac/.

Mi è capitato di aver bisogno della visualizzazione ad albero di una struttura di directory da linea di comando sotto OS X; purtroppo il comando tree non è presente. Per evitare di dover installare un Mac Port o ricompilarmi i sorgenti, ho swebbato un po', ed ho trovato una command line che fa al caso nostro:

find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

Perfetto, ora per evitare di dover scrivere tutta questa pappardella, vediamo di registrare il comando nel profilo della shell. Nell'ordine bash cerca i seguenti files di profilo:
  1. ~/.bash_profile
  2. ~/.bash_login
  3. ~/.profile
fermandosi al primo che trova..

Nel primo file tra quelli elencati quindi è sufficiente aggiungere la nostra funzioncina:

function tree {
find ${1:-.} -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
}

che funziona anche ricevendo come parametro opzionale la cartella root di cui stampare la struttura,

Nessun commento: