Techno-magis

Linux

Renommer en masse par ordre alphabétique

2019年7月28日(日曜日)

Pendant mes vacances, j'avais besoin de renommer mes photos par lot et en prenant bien soin de respecter l'ordre alphabétique des noms de fichier de base. Je n'ai pas trouvé de solution simple. En grattant un peu sur la toile et en combinant plusieurs trucs, je suis arrivé à ça :

コード:

ls -1 *.jpg | awk -F_ '{print $(NF-1) " " $0}' | sort | cut -d' ' -f2- | rename -v 's/.*/our $i;if(!$i){$i=1;} sprintf("xxxxxx_%02d.jpg", $i++)/e'

  • *.jpg : le filtre de recherche (à changer si ce n'est pas des images).
  • xxxxxx_%02d.jpg : le nom final des fichiers, avec "%02d" pour le nombre de chiffre pour le compteur. Ici ça sera xxxxxx_01.jpg,xxxxxx_02.jpg, etc.
記事にコメントする...
カテゴリ:
Zéflingによって、 2019/07/28 11:20:32
11回を読んだ。0件のコメントが投稿されています。

Sauvegarde de Gitlab

2019年2月3日(日曜日)

J'en avais un peu marre d'aller chercher le backup à chaque fois pour le mettre dans un dossier de sauvegarde. Alors, j'ai fais un tout petit script pour faire le backup et aller le récupérer pour le copier là où je veux.

J'ai écrit ce petit script :

コード:

#!/bin/bash
 
echo ">backup : gitlab"
gitlab-rake gitlab:backup:create
gitlab_folder='/var/opt/gitlab/backups/'
backup_folder='/my/backup/folder/'
gitlab_file=`ls -got ${gitlab_folder} | grep \.tar$ | head -1 | awk '{print $7}'`
echo ">copie : ${gitlab_folder}${gitlab_file}"
cp "${gitlab_folder}${gitlab_file}" $backup_folder
chown user:user "${backup_folder}${gitlab_file}"

Remplacez '/my/backup/folder/' par votre dossier de sauvegarde et user:user par vos droits.

Maintenant je n'ai plus qu'à faire :

コード:

sudo ./monscript.sh
記事にコメントする...
カテゴリ:
Zéflingによって、 2019/02/03 20:35:12
59回を読んだ。0件のコメントが投稿されています。

Installation de Gitlab avec Ubuntu Server/Apache 2

2016年7月15日(金曜日)

Je ne prétends pas que ça soit l'installation parfaite, mais ayant un peu galéré à faire marcher le tout, ça me sert surtout de mémo. Si vous avez mieux à proposer, un commentaire sera le bienvenu.

全記事を読みます...
カテゴリ:
Zéflingによって、 2016/07/15 00:36:44
319回を読んだ。0件のコメントが投稿されています。

Décompression ZIP et l'encode des noms de fichiers

2015年12月21日(月曜日)

Le format ZIP est un format très rependu. Malheureusement, le nom des fichiers est encodé suivant l'encodage du système1, ce qui fait qu'une fois décompressé, on peut se retrouve avec un nom de fichier nommé de la sorte « �s����Ȑ_�l.ext », ce qui a beaucoup de chance de le rendre fichier illisible l'état par d'autres programmes, mais aussi vous-même. Il faut donc le renommer et c'est là que ça se complique vu que l'on ne connaît pas forcément le nom d'origine.

Heureusement, sous Linux, il existe convmv qui permet de déplacer en masse des fichiers en réencodant leur nom, un mélange de « mv + conversion ».

Pour tester une conversion ici du SHIFT_JIS vers l'UTF8 :

コード:

convmv -f SHIFT_JIS -t UTF8 *

Et pour réaliser la conversion :

コード:

convmv -f SHIFT_JIS -t UTF8 --notest *

Parfois des petites choses nous rendent la vie impossible, et d'autres nous en sauvent. 😊

  • 1

    ZIP ne semble pas conserver l'encodage des fichiers contrairement d'autres formats comme RAR ou TAR.GZ. En tout cas, je ne remercie pas Windows qui n'est pas fichu d'avoir le même encodage suivant la langue du système, ce qui peut rendre une installation impossible pour un logiciel chinois ou japonais sur un poste en français.


記事にコメントする...
カテゴリ:
Zéflingによって、 2015/12/21 21:23:58
103回を読んだ。0件のコメントが投稿されています。

2 ans sous Linux (sans Windows)

2015年9月19日(土曜日)

Depuis le 19 septembre 2013, chez moi je n'ai vu Windows qu'au travers d'une machine virtuelle (et encore, j'ai crashé celle que j'avais et je ne l'ai pas réinstallé) ou Wine (mais ce n'est pas vraiment Windows). Ça ne s'est pas fait en partie pour pouvoir garder le contrôle de ma machine et aussi parce que j'avais déjà l'idée d'y passer. Donc je ne peux pas dire que ma démarche s'est totalement faite au hasard, même si certaines choses l'ont précipité. Je vais donc vous raconter quelle a été mon expérience durant ses deux années. Attention, je ne suis pas là pour dire que Linux est mieux, je dirais qu'il correspond mieux à ce que j'attends d'un système d'exploitation, malgré quelques galères.

全記事を読みます...
カテゴリ:
Zéflingによって、 2015/09/19 00:00:35
351回を読んだ。2件のコメントが投稿されています。

Passage de Kubuntu 15.10 à Debian 8 KDE

2015年5月10日(日曜日)

Après mes déboires d'une mise à jour complètement foireuse vers Plasma 5.2 avec Kubuntu 15.10, je n’avais pas envie de passer mes journées à essayer de réparer de choses complètement pétées... Puis, je me suis dit, si je veux quelque chose de plus stable d'Ubuntu, il serait temps d'essayer autre chose. Debian étant la base d'Ubuntu, c'était un peu un choix de facilité... du moins en apparence.

La facilité est donc assez relative, car je ne peux pas nier qu'Ubuntu assiste sur pas mal de choses et on est assez loin de cela sous Debian où il ne faut pas avoir peur de mettre les mains dans les lignes de code pour faire des installations.

Voilà un résumé des problèmes de mon week-end.

全記事を読みます...
カテゴリ:
Zéflingによって、 2015/05/10 19:26:59
510回を読んだ。0件のコメントが投稿されています。

Mes logiciels sous Linux

2015年5月8日(金曜日)

Certains donnent l'impression que l'on ne peut pas bosser sous Linux, mais c'est totalement faux. D'ailleurs je n'ai pas grand-chose qui me manque, mais l'inverse serait aujourd'hui vrai, j'aurais du mal à quitter Linux pour Windows car il y a certains outils que je n'y retrouverais pas. Bon, je ne ferais pas de présentation de truc que je trouve trop connu comme Libre Office, Firefox, Gimp, Inkscape, Filezilla ou encore VLC.

Il est à noter que certains environnements proposent de base nombre de programmes par défaut : gestion de photos, lecteur de musiques, gestionnaires de mots de passe, client pour les torrents, navigateur web, gravure de CD, gestionnaire de sauvegarde, etc. En fait, je me rends compte que j'ai installé assez peu de choses en plus hors serveur de dév.

全記事を読みます...
カテゴリ:
Zéflingによって、 2015/05/08 23:22:45
161回を読んだ。0件のコメントが投稿されています。

Hé! Ça ressemble presque à un jeu. 😜

2015年3月4日(水曜日)

Je me rends compte que les mécaniques d'un jeu sont assez simples à mettre en œuvre (pour un shooter en 2D). Maintenant ce qui va être compliqué c'est de mettre ça dans un cadre intéressant et que ça soit assez sympa... ce qui ne sera pas de la tarte.

Je publie une nouvelle version. J'ai compris comment faire des animations avec des sprites et comment jouer avec. J'ai aussi un peu mieux compris le système d'aire. Je pense que ma prochaine étape sera de comprendre comment mettre des déclencheurs (triggers). Tout ce qui est graphique, j'y penserais plus tard.

Télécharger “Test 3” :

  • Linux (5,8 Mio - Binaire),
  • Mac (6,4 Mio - Binaire).

La grosse nouveauté se présente assez simplement des points de vies que l'on perd en touchant un ennemi (les ronds rouges).

Désolé pour les non Linuxiens, je n’ai toujours pas compris comment compiler pour Windows ou Mac sous Linux.

記事にコメントする...
カテゴリ:
Zéflingによって、 2015/03/04 21:35:12
81回を読んだ。0件のコメントが投稿されています。

Godot : tuons des « monstres » !!

2015年3月1日(日曜日)

J’ai un peu avancé. La doc est vraiment infecte, j’ai compris certaines choses en regardant certains exemples et quelques bugs.

Ce qu’il y a de plus :

  • Ajout de « monstres » (c’est juste pour tester)
  • Test de collision (pour détecter si une flamme touche/traverse un ennemi)

Pour les touches, ça reste pareil (j'ai oublié de les préciser dans mon article précédent) :

  • Flèches : se diriger
  • [Shift] : courir
  • [<] : tirer (j’ai un problème avec espace et les diagonales)

Ce qui m’a posé problème, c’est comprendre la détection d’entrée dans une zone, mais surtout en sorte de savoir ce que c’est. Je n’ai pas trop l’habitude de ce genre de syntaxe :

コード:

extends Area2D
 
func _on_Pickup_body_enter( body ):
	# si c'est un monstre
	if (body extends preload("Monstre.gd")):
		body.toucher()
 
func _ready():
	# test si le tir touche quelque chose
	connect("body_enter", self, "_on_Pickup_body_enter") 
	set_process(true)
	pass
記事にコメントする...

Godot, 10 jours après

2015年2月22日(日曜日)

Enfin, 10 jours, de mon temps libre. Le premier exemple que j'avais donné la dernière fois était après avoir touché au premier tuto pour faire un Pong. J'avais eu un peu de mal avec le langage de scripts, trop habitué aux dérivés du C. J'ai presque fini par m'y faire, même si je trouve que ça manque un peu de lisibilité et que j'ai parfois du mal avec les erreurs pas forcément claires. Mais, je pense que c'est surtout l'IDE qui est assez affreux. Les copier-coller sont infernaux, la suppression est parfois bizarre, les ctrl+Z (annuler) donnent des étapes qu'on n’attend pas. Bref, j'utilise Kate pour modifier mes scripts, ça me fait perdre l'autocomplétion, mais au moins ça ne fait pas de choses bizarres. Je n'ai pas trop regardé du côté des bugs de l'IDE, mais ça serait bien qu'ils l'améliorent sur ces points.

全記事を読みます...
カテゴリ:
Zéflingによって、 2015/02/22 02:54:48
230回を読んだ。0件のコメントが投稿されています。

Première approche avec Godot

2015年2月12日(木曜日)

Cela faisait déjà quelque temps que j'avais envie de me lancer dans la réalisation d'un petit jeu. Mon gros problème reste tout ce qui est graphisme, sans moteur de rendu, je ne suis pas fichu de faire mieux que des graphiques en 2D. Ça finit par devenir trop matheux pour moi. Ma dernière expérience dans la réalisation de jeu a été avec Haxe, il a maintenant quelque année pour faire un petit jeu de rapidité/réflexion en 1 mois. J'étais sans emplois et c'était dans l'optique de bosser dans une boîte. Le jeu est toujours en ligne même s'il n'en plus mise à jour depuis bien longtemps.

全記事を読みます...
カテゴリ:
Zéflingによって、 2015/02/12 22:55:06
240回を読んだ。0件のコメントが投稿されています。

PHP & Crontab (Unix world only)

2014年6月3日(火曜日)

À la base, c'était une demande du boulot, sauf qu'une fois que j'avais ce que je voulais pour mon module, il y avait peu d’intérêt d'aller plus loin. Du coup, j'ai repris l'idée chez moi et j'ai essayé d'en faire un outil plus polyvalent qui ne demande même pas de connaître la syntaxe de Crontab. J'ai découpé la chose en deux parties, la gestion des lignes et du fichier d'un côté et de l'autre celui du temps. Le plus long a été de faire tous les contrôles lors du parsing d'un fichier pour s'assurer qu'il n'y a pas d'erreurs.

全記事を読みます...
カテゴリ:
Zéflingによって、 2014/06/03 00:37:41
145回を読んだ。0件のコメントが投稿されています。

Suppression de l'orientation EXIF d'une liste d'images avec un script

2014年3月23日(日曜日)

À l'origine, j'avais récupéré une solution pour tourner les images de mon numérique. Tous les logiciels ne supportent pas la rotation EXIF, du coup je préfère dans certains cas tourner l'image et supprimer la rotation EXIF. La solution que j'avais trouvée fonctionnait de façon quelque peu erratique avec des cas où la rotation n'était pas faite pour une raison que je n'ai jamais comprise. J'ai pas mal souffert du script foireux pendant mon voyage au Japon (et j'ai jamais vraiment eu le temps de m'y pencher durant mon expédition).

Après un peu de lecture de doc, de recherches sur internet, j'ai corrigé les problèmes et j'ai au passage fait une présentation un peu plus sympa pour montrer l'avancement de la conversion.

Pour faire simple, le script met les extensions en minuscules, crée un dossier « rotate » et copie les fichiers dedans. Ensuite, il parcourt un par un les fichiers pour effectuer une rotation (si nécessaire).

全記事を読みます...
カテゴリ:
Zéflingによって、 2014/03/23 00:45:24
278回を読んだ。1件のコメントが投稿されています。

Conversion de vidéos vers WebM en masse

2014年3月16日(日曜日)

Ayant un peu marre de faire de la conversion vidéo à la main, maintenant que je suis sous Linux, j'ai cherché un moyen de scripter une conversion de vidéos manuellement. J'ai testé un peu avant quelques solutions... mais jamais avec les résultats attendus. Soit la conversion WebM n'est pas possible, soit c'est extrêmement lent (non multi-threadé), soit il faut les faire une par une, soit il ne faut pas de caractères spéciaux. Bref, j'en suis venu à chercher à faire un script qui me sort de ses contraintes... et sur le Net ce n'est pas forcement simple de trouver ce que l'on veut. Beaucoup utilisent encore aujourd'hui « ffmepg » qui est aujourd'hui obsolète pour la conversion vidéo, ou encore la boucle ne fonctionne pas... En mélangeant ici et là quelques scripts Bash, je suis arrivé à faire mon petit fichier :

コード:

#!/bin/bash
VIDEOS=.
find "$VIDEOS" -name '*.mp4' -exec sh -c 'avconv -i "$0" -threads 4 -b:v 2M  "${0%%.mp4}.webm"' {} \;
exit;

Celui-ci ne fait que de la conversion MP4 vers WebM. Comme j'ai quatre processeurs j'ai mis 4 threads et une compression vidéo à 2 Mb, en dessous je trouve que le rendu assez mauvais et c'est à peu près ce qu'utilise YouTube.

Je pense que je fais peut-être essayer d'appendre un peu plus le Bash pour faire quelque chose d'un peu plus évolué qui ne se limite pas à un format.

記事にコメントする...
カテゴリ:
Zéflingによって、 2014/03/16 21:48:42
135回を読んだ。0件のコメントが投稿されています。

Passage de MySQL à MariaDB... imprévu.

2014年3月6日(木曜日)

Je n'avais pas prévu de le faire à cause d'une non-compatibilité avec Zabbix lors de mise à jour... Mais il y a des jours où ça ne se passe pas comme prévu. Lors de la mise à jour du serveur toute bête comme j'en fais souvent et sans encombre, cette fois le paquet mysql-server5.5 est impossible à mettre à jour. Il plante avec une erreur « 1 » lors que de la configuration. Je réessaie plein de trucs trouvés çà et là sur le net, à passer mon temps à virer des fichiers de verrouillage, tuer des processus et tenter d'autres façons de l'installer. Au bout de 2 heures, parce que j'en ai franchement ras le cul et que surtout que tous mes sites sont hors service, voyant que ça bloque toujours sur ce « putain » de fichier de configuration, j'ai eu une idée : « MariaDB est normalement compatible avec MySQL, là je n'ai plus rien à perdre à essayer ». Résultat, cette ligne me sauve :

コード:

sudo aptitude install mariadb-client mariabd-server

Je redonne le même mot de passe root et ça fonctionne à l'identique au bout de quelques secondes. Maria, tu me sauves ma nuit. Merci.


記事にコメントする...
カテゴリ:
Zéflingによって、 2014/03/06 01:11:09
781回を読んだ。2件のコメントが投稿されています。

Connecter sa PSVita sous Linux

2014年1月18日(土曜日)

Forcement, depuis que je suis sous Ubuntu, je dois chercher un peu plus quand un périphérique ayant une connexion quelque peu exotique. C'est le cas de la PSVita qui n'a aucun support officiel sous Linux. Heureusement, en cherchant un peu je suis tombé sur QCMA qui marche assez bien et en plus est largement plus léger que le connecteur officiel. L'installation est assez simple, sous Ubuntu, il y a juste 2 fichiers .deb à installer : VitaMTP et QCMA (le second semble être l’interface graphique du premier).

記事にコメントする...
カテゴリ:
Zéflingによって、 2014/01/18 20:52:57
763回を読んだ。0件のコメントが投稿されています。