Java, retirer les accents d'une chaîne

2016-03-16 | #accents #java

Voici le code qui permet de supprimer les accents d’une chaîne de caractères. public String removeAccents(String text) { String libelle = Normalizer.normalize(text, Normalizer.Form.NFD); return libelle.replaceAll("\\p{Mn}+", ""); } @Test public void removeAccents() { String withAccents = "Portez ce vieux whisky au juge blond qui fume sur son île intérieure, à côté de l'alcôve ovoïde, où les bûches se consument dans l'âtre, ce qui lui permet de penser à la cænogénèse de l'être dont il est question dans la cause ambiguë entendue à Moÿ, dans un capharnaüm qui, pense-t-il, diminue çà et là la qualité de son œuvre.

Continuer la lecture 


sed/awk, remplacer plusieurs occurences entre deux balises html

2016-03-01 | #awk #commande #sed

sed -ri "/<childProjects>/,/<\/childProjects>/ { s/monsvi-/MAINTENANCE-$GOROCO-monsvi-/g; }" $config_file Attention, il faut prendre garde au cas où les tags html ne seraient pas uniques : $ cat text.txt <a> <b>toto</b> <c>toto</c> <b>toto</b> </a> $ cat text.txt | sed -r '/<b>/,/<\/b>/ { s/toto/t*t*/g; }' <a> <b>t*t*</b> <c>t*t*</c> <b>t*t*</b> </a> Si on a la chance que le tag de fin est sur la même ligne : $ cat text.txt | sed -r '/<b>/,0 { s/toto/t*t*/g; }'<a> <b>t*t*</b> <c>toto</c> <b>t*t*</b> </a> Toutefois, je conseille de préférer awk dont le comportement est plus sûr.

Continuer la lecture 


java, iso-8859-1 & utf-8

2016-02-19 | #encoding

Ahhhh, ces encodings ! Bref, pour rappel : @Test public void testFoo() throws UnsupportedEncodingException { // Entités -> Entit\u00c3\u00a9s assertEquals("Entités", new String("Entit\u00c3\u00a9s".getBytes("ISO-8859-1"), "UTF-8")); }

Continuer la lecture 


java, mockito espionner le retour d'une fonction

2016-02-18 | #java #test #tu

Le code n’est pas beau, mais au moins il est copiable directement en test unitaire pour manipuler et tester ! @Test public void testFoo() throws Exception { class ResultCaptor implements Answer<String> { private String result; String getResult() { return result; } @Override public String answer(InvocationOnMock invocationOnMock) throws Throwable { result = (String) invocationOnMock.callRealMethod(); return result; } } class MyClazz { public String f(String param) { return "out=" + param; } } MyClazz a = new MyClazz(); MyClazz spy = spy(a); ResultCaptor answer = new ResultCaptor(); when(spy.

Continuer la lecture 


ssh, exécuter un sudo par ssh sans saisir son mot de passe (pour sudo)...

2016-02-12 | #password #ssh

Dans le cadre de mon projet, on souhaitait pouvoir exécuter des redémarrages de services depuis son poste local sur des machines accessibles par ssh mais dont on n’avait pas accès au compte root. Le service est cependant redémmarrable via sudo mais un mot de passe était demandé. Nous avons mis en place un script qui lit dans un fichier de conf le mot de passe et exécute le sudo (et remplis le mot de passe du sudo) par ssh.

Continuer la lecture 


bash, utilisation des commandes bang !

2016-02-11 | #shebang

Voici un gros post concernant les commandes bang de bash. Je connaissais “!!”, “!ligne” et “!commande” ce qui est déjà pas mal. Mais il y en a bien d’autres !!! En les connaissant et les utilisant, il doit être possible de minimiser les contacts avec la souris ;) Les commandes : Syntaxe !! Exécute la dernière commande !509 Exécute la commande 509 de l'historique !-2 Exécute l'avant dernière commande !foo Exécute la dernière commande qui commance par 'foo' (cad.

Continuer la lecture 


ssh, oubli d'ajout...

2016-02-11 | #ssh

Ca fait longtemps que j’utilise ssh mais je n’avais rien ajouté au blog le concernant… * ssh-keygen permet de générer sa clé publique et sa clé privée * ssh-copy-id permet de copier sa clé publique sur la machine distante dans le compte spécifié (si non spécifié utilise votre login) SYNOPSIS ssh-copy-id [-n] [-i [identity_file]] [-p port] [-o ssh_option] [user@]hostname * ssh permet de se connecter à la machine distante ssh [user@]hostname

Continuer la lecture 


automatisation, créer un document pdf à partir d'une page web

2016-02-10 | #pdf #phantomjs #rasterize.js #wkhtmltopdf

Il est facile de créer un document PDF à partir d’une page web. Pour cela on peut utiliser le programme wkhtmltopdf $ wkhtmltopdf "http://mezalor-sc.blogspot.com" mezalor-sc.pdf Loading page (1/2) Printing pages (2/2) Done ou bien phantomjs avec le script rasterize.js phantomjs <( curl -s https://raw.githubusercontent.com/ariya/phantomjs/master/examples/rasterize.js ) http://mezalor-sc.blogspot.com mezalor-sc.pdf A noter : wkhtmltopdf peut produire des documents avec des tailles de polices différentes entre 2 pages web d’un mếme site web (vu au travail), il coupait aussi une ligne entre deux pages du document pdf rasterize.

Continuer la lecture 


bash, type mime

2016-01-27 | #mime #type

On peut déterminer le type mime d’un fichier en bash en utilisant la commande file $ file --mime-type tests-fitnesse.tgz tests-fitnesse.tgz: application/gzip $ file --mime-type -b tests-fitnesse.tgz application/gzip $ file -i -b tests-fitnesse.tgz application/gzip; charset=binary $ file --mime-encoding tests-fitnesse.tgz tests-fitnesse.tgz: binary $ file --mime-encoding -b tests-fitnesse.tgz binary -b : supprime le nom du fichier --mime-type : type mime --mime-encoding : encoding -i : type mime + encoding

Continuer la lecture 