Git branch & Subversion detection en el prompt de Bash

September 6th, 2011 | by | gnu+linux

Sep
06

Simple, agregar en el .bashrc lo siguiente :

function parse_git_branch {
  git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
 
function detect_svn {
  test -d .svn && echo "(svn)"
}
 
function proml {
  local         RED="\[\033[0;31m\]"
  local   LIGHT_RED="\[\033[1;31m\]"
  local      YELLOW="\[\033[0;33m\]"
  local LIGHT_GREEN="\[\033[1;32m\]"
  local       WHITE="\[\033[1;37m\]"
  local  LIGHT_GRAY="\[\033[0;37m\]"
  local LIGHT_PURPLE="\[\033[1;34m\]"
  case $TERM in
    xterm*)
    TITLEBAR='\[\033]0;\u@\h:\w\007\]'
    ;;
    *)
    TITLEBAR=""
    ;;
  esac
 
PS1="${TITLEBAR}\
$LIGHT_PURPLE\w$YELLOW\$(parse_git_branch)\$(detect_svn)\
$LIGHT_GRAY\$ "
PS2='> '
PS4='+ '
}
proml

Y se ve algo como (sin colores, sorry :) :

~/src/some_git_project(master)$
~/src/some_svn_project(svn)$

No Comments »

MySQL a CSV remotamente desde el shell

July 31st, 2009 | by | gnu+linux

Jul
31

Algo que siempre me molestaba de cuando una campaña deja de correr era la molestia de los día siguientes : “me exportas a,c,b de tal tabla”, “me das mejor b,a,c” y así sigue la molestia.

Más que nada porque tenía que loggearme al DB server, hacer un dump o correr algún script de php para armarlo.

Bueno, hoy buscando otra cosa caí sin querer en este tip que usa el comando myql y sed desde el shell. Así que ahora puedo tirar la query por la VPN (bueno, cuando ande bien voy a poder :D ) directo al DB server y mandar por email el CSV :) .

mysql -u user -h host -p --execute="SELECT campo1, campo2, campoN FROM  table_name" database_name | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g'

Esto lo tira al stdout, agregando un “> output.csv” estamos hechos.

No Comments »