bash, initialiser un tableau avec le retour d'une commande et itérer dessus

2014-05-08 | #array #bash #iterate #loop #mapfile

Cette méthode est sûre concernant les espaces contenus dans les lignes renvoyées par la commande :) $ tree . ├── a │ ├── a 1 │ └── a 2 ├── b │ ├── b 1 │ └── b 2 └── c ├── c 1 └── c 2 3 directories, 6 files $ mapfile -t files < <(find -type f) $ for file in "${files[@]}"; do > echo "file: $file" > done file: .

Continuer la lecture 


java & xpath : getNFirstXpath

2014-04-11 | #java #xpath

private Object getNFirstXpath(HtmlPage page, String fmt, Object ... args) { String request; if (args.length == 0) { request = fmt; } else { request = String.format(fmt, args); } List inputs = page.getByXPath(request); if (inputs == null || inputs.size() == 0) { resultat = String.format("L'\u00e9lement '%s' n'a pas \u00e9t\u00e9 trouv\u00e9 dans la page", request); return null; } return inputs.get(0); } HtmlCheckBoxInput o = (HtmlCheckBoxInput) getNFirstXpath(page, String.format("//input[@type='checkbox'][@id='id_%s_activation']", champ, valeur)); HtmlTextInput o = (HtmlTextInput) getNFirstXpath(page, String.

Continuer la lecture 


Comment modifier rapidement une palanquée de fichiers de conf...

2014-03-12 | #bash

#!/bin/bash cat <<EOF > container.tpl <Resource auth="Container" name="jdbc/configb" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://%s/%s" username="%s" password="%s" initialSize="0" maxActive="30" maxIdle="4" minIdle="0" maxWait="10000" poolPreparedStatements="true" testOnBorrow="true" timeBetweenEvictionRunsMillis="60000" numTestsPerEvictionRun="30" minEvictableIdleTimeMillis="180000" removeAbandoned="true" removeAbandonedTimeout = "60" logAbandoned="true" /> EOF #\$0 pour ne pas interpreter... cat <<EOF > container.awk /name="jdbc\/3900"/ { gsub("jdbc/3900", "jdbc/data", \$0); } match(\$0, /<Parameter name="mysql.host" value="(.+)" override="true"\/>/, m) { host=m[1]; next } match(\$0, /<Parameter name="mysql.database" value="(.+)" override="true"\/>/, m) { database=m[1]; next } match(\$0, /<Parameter name="mysql.username" value="(.+)" override="true"\/>/, m) { username=m[1]; next } match(\$0, /<Parameter name="mysql.

Continuer la lecture 


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 