Category: Shell

Rsync et vfat

Par matts, 12 janvier 2010 12 h 40 min

Les options qui vont bien pour synchroniser d’ext3 vers vfat :

rsync --modify-window=1 -rtv --delete /data/dir /mnt/

via: http://www.kylev.com/2005/03/29/rsync-and-vfat/

rollback double encoding

Par mc, 28 août 2009 9 h 39 min

i just edited an sql dump to remove the noise left by a double utf8 encoding using vim. when you are in command line and type ctrl+f, you enter in a history buffer (so you can edit your commands with vi behaviors). I copied the history in my .zshrc and have a simple filter to do it again simply, now.

# act as filter, remove the double encoding
rollback_double_encode () { 
    perl -Mutf8 -CSD -pe '
	s/é/é/g;
	s/è/è/g;
	s/ê/ê/g;
	s/î/Î/g;
	s/ô/ô/g;
	s/ç/ç/g;
	s/ï/ï/g;
	s/ë/ë/g;
	s/à/à/g;
    ' "$@"
}

well … i imagine it’s not complete but i don’t know a better solution. any idea ?

IPython et le shell

Par virtual_eye, 24 janvier 2009 21 h 45 min

IPython vous permet très simplement d’affecter le retour d’une commande shell à une variable entièrement manipulable.

In [64]: var = !ls -R | grep b
 
In [65]: var
Out[65]: SList (.p, .n, .l, .s, .grep(), .fields() available). Value:
0: build
1: Public
2: ./build:
3: beastbible
4: ./Documents/projets/beastbible:
5: ./Documents/projets/beastbible/artist:
6: ./Documents/projets/beastbible/review:
7: ./Public:

Il suffit simplement d’ajouter le caractère ‘ ! ‘ avant votre commande !!

Alors heureux ?

recuperer une archive mailman

Par mc, 23 janvier 2009 11 h 55 min
url=lists.jifty.org/pipermail/jifty-devel/
wget -rl1 -nd -Agz http://$url
for f (*gz) gzip -d $f

a ameliorer:
- wget pour mettre a jour uniquement
- transormer les .txt obtenus en mailbox
- indexation pour recherche par mot clef dans les messages (zebra?)

vider koha

Par mc, 21 janvier 2009 20 h 46 min

tu as fais tous tes tests et du coup ta base est pleine d’authorités et de notices sans intéret. Par contre, la conf. est aux petits oignons ? merci zsh:

tables=(
    bibio biblioitems items
    auth_header sessions zebraqueue
)
 
print 'truncate '$^tables';
' | mysql

superman: man avec des superpouvoirs et des hyperliens

Par mc, 16 janvier 2009 13 h 56 min

apres des années de travail sur le projet x234.ED.ZZ34, voila un fabuleux programme dont la qualité de la conversation vous rappellera les plus grands moments de l’IA (je parle de trucs vraiment forts comme l’IA des méchants dans DoubleDragon ou celle de la synthese vocale des premieres sound blaster).

en plus, c’est oss! (quand je vous dis que je veux pas faire de pognon)

merci () {
   echo "de rien, ${USER:=pauvre crétin incapable de configurer son shell}" 
   [ "$1" ] && echo "et arrete de m'appeller $@! mon nom est /proc/$$"
}
 
superman () {
        # open a man in vim
        # you can now navigate through the manpages using
        # ctrl-] to open a manpage
        # ctrl-O (shift-o) to come back
 
	[ "$1" ] || return 
        local man=$1
        shift 
        vim \
                -c 'run ftplugin/man.vim' \
                -c "Man $man" \
                -c "set nohidden" \
                -c on \
                "$@"
}

screenshots (réalisés sans trucages)

$ superman sleep
> merci superman 
de rien, mc
et arrete de m'appeller superman! mon nom est /proc/70R

zsh t’aide a retrouver tes commandes

Par mc, 2 janvier 2009 9 h 35 min

c’est quoi deja la commande avec pci, la ?

whence -am '*pci*'

tu viens d’installer le paquet bar et zsh ne complete pas bar? normal: zsh a un cache des commandes dispos. tappes rehash …

marre de tapper rehash 2x par jour ? zsh tappe pour toi

precmd () { rehash }

(doit y avoir un parametre pour ne pas mettre en cache… pas cherché :)

plein de $ avec awk …

Par mc, 31 décembre 2008 10 h 04 min

awk est souvent sous-utilisé et j’ai des envies de meurtre quand je vois (dans linux mag par exemple) du

cat foo | grep toto | awk '{ print $2 }'

qui s’écrit en fait

 awk ' /toto/ { print $2 }' foo

autre chose a savoir avec awk: le $ n’introduit pas des variables speciales mais des contenus de colonnes. $1 veut donc dire contenu de la colonne 1. il est donc possible de l’écrire: i=1; $i. La colonne 0 contient toute la ligne et NF contient le nombre de colonnes. En image

 awk -F: '{
   for ( i=0; i<=NF; i++) { print i" "$i }
   exit
}' /etc/passwd

Nettoyer les retours à la ligne

Par kyusan, 4 novembre 2008 10 h 37 min

Si vous avez un fichier contenant des retours à la ligne Unix, DOS, DOS/Unix … (par exemple un dump d’une base PostgreSQL contenant des procédures stockées réalisées par différents éditeurs mal configurés), vous pouvez facilement standardiser les retours à la ligne avec cette commande :

konwert lf votre_dump_fait_par_de_sales_developpeurs.sql

Ici, le « lf » indique un retour à la ligne Unix (issu du man : cr = Macintosh, lf = Unix and Amiga, crlf = Windows and DOS).

Figlet, mon amour

Par virtual_eye, 25 septembre 2008 16 h 17 min

Parce que j’ai découvert ce petit soft en ligne de commande aujourd’hui grâce à mc et Kyusan un petit peu aussi.
Donc voilà, après la petite joke de mc ce matin :

figlet .I.

Je me suis dit que j’allais laisser de côté pour quelques (grosses) minutes, mon code Java miteux pour m’amuser avec ce nouveau joujou et ça donne presque instantanément ça. Bien sûr, vous remarquerez directement mon côté subtil et fin :

for I in $(seq 10); do figlet \>-O; sleep .5 ; clear; figlet \>O-;sleep .5; clear; done;

A toi mc de nous montrer ton amélioration maintenant…

Me suis pas présenté mais grâce à ce billet, vous en savez déjà beaucoup. Drole, fin, subtil et je code dans le meilleur langage du monde…. Allez, quand est-ce qu’on m’assassine ?

Panorama Theme by Themocracy