awk, extraire des paragraphes

2014-02-01 | #awk #bash #commande

Avec awk, il est possible d’extraire des paragraphes spécifiques par leur ordre d’apparence. Il faut positionner le séparateur d’enregistrements RS et donner les numéros de paragraphe que l’on souhaite extraire via un if comme dans l’exemple ci-dessous. $ cat a NODE-ID> command1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Continuer la lecture 


html/java, input file sympa avec bootstrap

2014-01-28 | #bootstrap #html

Dans le cadre d’un projet, j’ai redesigné un formulaire qui permet d’importer un fichier csv (utilise bootstrap). Le rendu est le suivant : <form method="post" action="/somewhere" enctype="multipart/form-data" class="form-horizontal"> <div class="control-group"> <label class="control-label" for="fichier_csv">fichier.csv</label> <input type="file" id="fichier_csv" name="fichier_csv" style="display:none" /> <div class="controls"> <div class="input-append"> <input id="fichier_path" class="input-large" type="text"> <a class="btn" onclick="$('input[id=fichier_csv]').click();"> <i class="icon-folder-open"></i> <span>Sélectionner...</span> </a> </div> </div> <script type="text/javascript"> $('input[id=fichier_csv]').change(function() { $('#fichier_path').val($(this).val()); }); </script> </div> </form> Le code java est le suivant (attention, lorsque le type du formulaire est enctype=“multipart/form-data”, les paramètres ne se récupèrent plus avec HttpServletRequest.

Continuer la lecture 


archlinux, problèmes de clé sur mise à jour pacman

2014-01-23 | #archlinux #pacman

Parfois, lors d’une mise à jour ou tentative d’installation d’un paquet, une erreur de clé corrompue survient. Il suffit simplement de mettre à jour les clés de son trousseau comme dans l’exemple ci-dessous et de relancer la mise à jour. Ensuite, ça roule ma poule :) $ pacman -Syu ... error: i3-wm: signature from "Thorsten Töpper <atsutane@freethoughts.de>" is unknown trust error: failed to commit transaction (invalid or corrupted package (PGP signature)) .

Continuer la lecture 


socat, sert de proxy et passe le plat...

2013-12-26 | #commande #socat

Sur un de mes projets, un flux a été interrompu… en attendant sa réouverture j’utilise un proxy qui sert de passe plat depuis une machine où le flux en question est ouvert… # le serveur écoute sur le port 1231 et passe le plat à somewhere.example.com:80 socat TCP-LISTEN:1231,reuseaddr,fork TCP:somewhere.example.com:80

Continuer la lecture 


bash, la fonction qui tue...

2013-12-07

Voici une fonction qui tue… et simplifie la vie en ligne de commandes ! function ..() { ## .. <nombre> remonte de <nombre> repertoires ## .. /<chaine> remonte jusqu'a ce qu'un repertoire contient <chaine> dans son nom local level=$1 if [[ ! "$level" =~ / ]]; then while [ $level -gt 0 ]; do cd .. || break level=$(($level-1)) done else level=${level:1} local curdir=$(pwd) IFS='/' read -ra ADDR <<< "$curdir" for (( i = ${#ADDR[@]}-1; i>0; i-- )); do if [[ "${ADDR[$i]}" =~ "$level" ]]; then break fi cd .

Continuer la lecture 


bash, éviter l'interprétation en octal en utilisant printf

2013-12-07

J’ai eu un petit soucis dans un script de renommage qui tentait d’interprêter les valeurs commençant par 08 et 09 en octal lors d’un printf. La solution consiste à spécifier que la valeur est en base 10 comme dans l’exemple ci-dessous : s="09" $ printf "%.02d" $s bash: printf: 09: Nombre octal non valable 00 $ printf "%.02d" $(( 10#$s)) 09

Continuer la lecture 


bash, expansion de paramètres et indirection

2013-11-15

Aujourd’hui, je viens de découvrir l’indirection de paramètres en bash. La syntaxe est la suivante : ${!PARAMETER} L’expansion ne donne pas la valeur du paramètre lui même mais la valeur du paramètre dont le nom est contenu dans PARAMETER. $ TEMP="hello world" $ TEXT=TEMP $ echo ${!TEXT} hello world Cela permet de faire de jolies choses comme ceci en s’abstrayant d’eval… XXX_user=rootX XXX_password=rootX123 XXX_host=sqlserver01.example.com YYY_user=rootY YYY_password=rootY123 YYY_host=sqlserver02.example.com ZZZ_user=rootZ ZZZ_password=rootZ123 ZZZ_host=sqlserver03.example.com connect_to() { local database="$1" user_key="${database}_user" password_key="${database}_password" host_key="${database}_host" mysql -h "${!

Continuer la lecture 