576 liens privés
On linux or OSX:
for f in *.txt; do pandoc "$f" -s -o "${f%.txt}.rtf"; done
Pour tenter de convertir des pages dokuwiki
vers Pelican (avec du strict-markdown
)
Et un second livre sur des fondamentaux
Pour mes randonnées, au lieu d'acheter une carte papier, j'utilise ma liseuse (une Pocketbook 623 TeaTouch Lux) à la place. Voilà mon processus :
- Je trace mon itinéraire dans Brouter.
- Je le télécharge sur mon ordinateur ; éventuellement je le vérifie avec GPXsee.
- Je l'importe dans Géoportail avec le fond de carte topographique en noir&blanc ; éventuellement j'ajoute des annotations manuellement à l'aide du fond de carte topographique coloré où apparaissent les sentiers de GR.
- J'effectue des captures d'écran à l'aide du script ci-dessous ; 3 niveaux de zoom :
- large où je vois 20km d'itinéraire sur une capture (équivaut à un niveau 13)
- moyen où j'ai plus de détail (niv. 14)
- le max où j'ai encore plus de détail mais où la résolution n'est pas pour autant pixelisée comme au niveau suivant (niv. 15)
- Je dépose les fichiers sur ma liseuse, dans le dossier
Photo
pour les avoir directement à l'ouverture de l'application du même nom. - Je pars marcher :-)
#!/bin/bash
for i in `seq 1 12`;
do
import -window root -crop 1024x1024+150+10 -pause 3 -rotate 90 $i.png
done
Explication du script :
Les images sont tournées de 90° pour les avoir directement en paysage sans avoir à demander manuellement la rotation dans l'application systématiquement. La résolution de capture est adaptée au pixel près à celle de l'écran de la liseuse. Il y a une pause de 3 secondes pour permettre de déplacer la carte et que les tuiles se chargent.
2 améliorations possibles :
- pouvoir indiquer en argument du script le nombre de capture que je sois effectuer (sur un niveau large, j'en fais 2-3 ; sur des niveaux + fins, j'en fais parfois une douzaine par jour/20km).
- savoir dans ma fenêtre capturée plus exactement où sont les bordures pour permettre un bon recouvrement d'une capture à l'autre.
2 pré-requis : avoir imagemagick
d'installé ; utiliser linux/ubuntu.
Édition 2020-05-28T10:20
Concernant les niveaux :
- mon « large » équivaut à un niveau 13 ; cela donne 1000m/0,95cm soit une échelle d'environ 1:100'000
- mon « moyen » équivaut à un niveau 14 ; cela donne 500m/1cm soit une échelle de 1:50'000
- mon « max » équivaut à un niveau 15 ; cela donne 500m/1,9cm soit une échelle d'environ 1:25'000
Les "niveaux" sont ceux fournis par les logiciels ; par exemple pour https://opentopomap.org/#map=15/45.83281/6.86686 on a un niveau 15.
L'échelle est mesurée directement sur l'écran de ma liseuse.
J'adore cette commande, trop pratique !
Dans votre terminal si vous tapez Ctrl + r, vous obtiendrez :
[romain@arch_machine ~]$ (reverse-i-search)`':
Ensuite tapez un mot clé correspondant à ce que vous pourriez avoir envié de rechercher dans l’historique :
Ces derniers jours, j’ai utilisé des lignes de commandes qui comportées « gcc », si je tape « gcc » il m’affiche :
[romain@arch_machine ~]$ (reverse-i-search)`': gcc -g test.c
Ci-dessus, on peut voir qu’il m’affiche une ligne commande entière (avec les arguments) qui contient l’expression « gcc ». Cette ligne de commande correspond à la dernière ligne de commande que j’ai tapé et qui contenait le mot clé gcc.
En appuyant une deuxième fois sur Ctrl + R, je remonte dans l’historique Bash enregistré. Il m’affiche :
[romain@arch_machine ~]$ (reverse-i-search)`': gcc test.c
Ci-dessus, il m’affiche une autre ligne de commande que j’ai tapé dernièrement et qui contient également l’expression « gcc ».
En appuyant successivement sur CTRL + r vous pouvez remonter dans l’historique des commandes.
Hop, je continue dans ma série « je veux me constituer une galerie KISS avec commentaire ». J'ai clairement jeté mon dévolu sur sfpg que je kiffe grave. Bon, j'ai parfois un problème de chargement des images mais rien de rebutant. Le seul petit soucis c'est que même si l'interface permet d'éditer des commentaires, c'est un poil contraignant : cliquer sur Admin
pour se mettre en mode d'administration, cliquer sur sa photo puis Description
et là on a une fenêtre d'édition du commentaire et enfin cliquer sur Save
et on recommence.
Je me suis dit qu'à la manière de l'éditeur de commentaire de Tommy pour MinigalNano, je pouvais simplement ouvrir un visionneur d'image d'un côté de l'écran (Win
+←
évidemment) et mon éditeur de texte favori de l'autre côté. Cela me permet de voir l'image en même temps que j'écris le commentaire et pour passer un suivant un petit Ctrl
+S
puis Ctrl
+W
dans une fenêtre et un →
dans l'autre fenêtre. Easy.
Oui mais… il me faut créer ce fichiers *.txt
. Bon, un petit batch ?
Oui mais… je suis une bite en batch.
Oui mais… « internet est mon ami » !
Allez, voici mon batch (oui rien de très glorieux mais bon, quand on rame un jour, on aime bien retrouver sa bouée de secours le lendemain…) :
CLS
@echo off
setlocal EnableDelayedExpansion
set zeFileType=jpg
set zeExtension=.txt
echo --- Ce script prend tous les fichier de type %zeFileType% ---
echo --- et il y ajoute une extension %zeExtension% ---
echo --- ([Ctrl]+[C] pour annuler) ---
pause
for %%x in (*.%zeFileType%) do (
echo Traitement de %%x
echo>%%x.txt
)
pause
DEL /Q/S .
(désolé, des fois je suis fatigué ; et puis ça faisait longtemps que je ne m'en étais pas servi)
Pratique. Je cite (et corrige une erreur/coquille) : «
Comment tester que la valeur d'une cellule ou d'une variable appartient à un ensemble de valeurs.
Comment dire par formule "si A1= Coucou ou Bonjour ou Hello alors B1= B2, sinon B1 = B3" :
Plusieurs écritures possibles en B1 (sur une seule ligne) :
=SI(OU(A1="Bonjour";A1="coucou";A1="Hello");B2; B3)
ou bien
=SI(OU(A1={"Bonjour";"coucou";"Hello"});B2; B3)
Attention les accolades sont à saisir au clavier, ce n'est pas une saisie matricielle. »
Oh putain !
Je sais, je vais passer pour un noob mais tampis ! J'ai cherché trop longtemps à comprendre comment faire simplement que je ne vais pas laisser tomber aux oubliettes de ma mémorie cette astuce.
Je veux tout simplement 1/récupérer la liste des fichiers de mon répertoire et 2/ajouter une balise [img]...[/img] autour du nom.
Je le fais en 3 étapes :
ls > list.txt
sed 's/^/[img]/' list.txt > list2.txt
sed 's/$/[\/img]/' list2.txt > list3.txt
A savoir que pour la commande sed le "s" signifie "substituer" le "^" étant la regex du début du de ligne et le "$" celle de fin de ligne. La troisième partie du '.../.../[img]/ étant le texte que l'on veut ajouter. Puis ensuite on sort tout ça dans un nouveau fichier.
Il y a très certainement moyen d'optimiser en 2 lignes voire 1 mais pour le moment je m'arrête là.
Edit 2015-05-18T19:37 : Merci à Stuper https://stuper.info/shaarli//?3mSpBg qui me propose ça :
ls | awk -F " " '{print "[img]"$0"[/img]"}' > list3.txt
Je note l'utilisation des pipes. J'y ai pensé mais je ne suis pas encore à l'aise. Et "awk", j'en ai entendu parlé ; genre c'est un peu le "couteau-suisse" (mais bon, un couteau, ça coupe...).
Et merci à Oros https://www.ecirtam.net/links/?ra2mcw également qui propose quelque chose qui me convient mieux au premier abord :
ls | sed 's/^/[img]/' | sed 's/$/[\/img]/' > list.txt
Pour lister tous les fichiers existants dans le répertoire courant :
files = [f for f in os.listdir('.') if os.path.isfile(f)]
for f in files:
# do something
et au complet avec un regex (simple) pour le type de fichier :
import os
import re
files = [f for f in os.listdir('.') if os.path.isfile(f)]
for f in files:
if re.match('.*\.xls',f):
# do something
CLS
@echo off
setlocal EnableDelayedExpansion
set zeFileType=xls
set zeSuffixe=_blabla
echo --- Ce script prend tous les fichier de type %zeFileType% ---
echo --- et il y ajoute le suffixe %zeSuffixe% ---
echo --- ([Ctrl]+[C] pour annuler) ---
pause
for %%x in (*.%zeFileType%) do (
echo Traitement de %%x
set zeNewName=%%~nx%zeSuffixe%
rename .\%%~nx.%zeFileType% !zeNewName!.%zeFileType%
)
pause
Wow, quelques astuces pour l'utilisation de wget.
Je cite : «
J'ai voulu aspirer les one-piece de http://lel-scan.com (pour ne pas être forcé de les lire en ligne). J'ai utilisé cette commande :
$ wget -r -linf -k -p -E http://lel-scan.com/mangas/one-piece/
Ça a fait le job mais ça a aussi téléchargé tous les autres mangas du site (j'ai coupé à 38 000 fichiers..). Il y a moyen de mieux faire.
Par exemple, en limitant la profondeur et le type de fichier (juste *.jpg )
$ wget -r -l2 -A.jpg -k -p -E http://lel-scan.com/mangas/one-piece/
(...)
Terminé — 2015-05-04 08:22:31 —
Temps total effectif : 13m 3s
Téléchargés : 3196 fichiers, 609M en 11m 8s (933 KB/s)
0 fichiers convertis en 0 secondes.
On peut virer -k (pour convertir les liens et avoir une navigation locale), -p (téléchrge tout ce qui est nécessaire pour l'affichage d'une page) et -E (modifier les extensions en .html). Au passage, je modifie -A (pour que ce soit plus propre).
$ wget -r -l2 -A "*.jpg" http://lel-scan.com/mangas/one-piece/
(...)
Terminé — 2015-05-04 08:43:18 —
Temps total effectif : 13m 1s
Téléchargés : 3178 fichiers, 609M en 11m 9s (933 KB/s)
Je suis surpris de voir que c'est à peine plus rapide...
Enfin, on peut télécharger juste un chapitre :
$ wget -r -l1 -A "*.jpg" http://lel-scan.com/mangas/one-piece/784/
(...)
Terminé — 2015-05-04 08:44:33 —
Temps total effectif : 6,4s
Téléchargés : 32 fichiers, 4,6M en 5,1s (934 KB/s)
»
Pleins de bons conseils pour du shell mais d'un niveau encore trop avancé pour moi.
Une bonne alternative à AutoIt.
L'utilisation est vraiment aisée.
Il manque juste une interface pour éditer le code et un moyen d'enregistrer un script en live ; histoire d'avoir une base ou un modèle.
Et oui, le fameux problème de "L'expansion retardée de variables d'environnement"
Au lieu de ça :
dir /B /S %RepToRead% > %FileName%
for /f "tokens=*" %%a in ('type %FileName%') do (
set c=%%a
echo %c%
echo %%a
)
On doit plutôt mettre ça :
@echo off
setlocal enableDelayedExpansion
dir /B /S %RepToRead% > %FileName%
for /f "tokens=*" %%a in ('type %FileName%') do (
set c=%%a
echo !c!
echo %%a
)
Et ça marche très bien.
Edit 2015-05-05 : Oui, bien appliquer cela à la lettre (surtout le coup des %a% --> !a! sur les variables initialisées dans la boucle). Je viens à nouveau de perdre de nombreuses minutes pour cette astuce.
cf également https://stackoverflow.com/questions/12518242/batch-script-for-loop-wont-set-variable
Je veux déplacer tous les fichiers epub d'un ensemble de dossier dans un seul dossier. En d'autres mots, je veux regrouper l'ensemble des fichiers d'un certain type contenus dans un dossier dans un autre répertoire.
Voici ma petite commande
@echo off
for /r "D:\Repertoire\Initial" %%x in (*.epub) do (
echo moving "%%x"
move "%%x" "D:\Repertoire\Destination"
)
pause
Dans la même veine que http://orangina-rouge.org/shaarli/?YACP1Q et http://sebsauvage.net/links/?0DwJxQ .
intéressant.
D'autres scripts VLC... à creuser pour ma conversion de vidéos
A creuser pour faire de la conversion (transcodage) massive depuis .mp4 (récupéré grâce à KrISS-DWLD http://tontof.net/kriss/dwld/ ) vers .mp3/.oga ou depuis 3gp (merci l'encodage pourri du téléphone) vers .ogv/.ogg .
J'aimerais bien faire un script/batch tranquille qui convertit l'ensemble des fichiers d'un dossier (à la manière de Jpegtran http://orangina-rouge.org/shaarli/?YACP1Q )
Autre source : https://wiki.videolan.org/How_to_Batch_Encode
Bon voici la version Linux. Je sais, c'est facile à faire pour beaucoup mais je suis sûr que certains seront content de se rappeler comment faire facilement.
#!/bin/bash
in_path=$1
out_path=$2for i in $in_path/*; do
out_file=$(basename $i)
jpegtran -optimize -outfile $out_path/$out_file $i
jpegtran -progressive -outfile $out_path/$out_file $i
jpegtran -grayscale -outfile $out_path/$out_file $i
done`
Alors évidemment, petit rappel : il faut simplement créer un fichier script-jpegtran.sh dans un dossier (par exemple /home/script/ ) et avec dans l'interface du terminal appeler cela avec les dossiers à traiter en argument :
sh /home/script/script-jpegtran.sh /home/Images/avant/ /home/Images/apres/
Il y a l'optimisation des images, la conversion en progressif et le passage en niveau de gris. Ces images sont pour un tuto sur internet où la couleur n'a pas d'importance --> je gagne encore du poids sur l'absence des filtres de couleurs (à vérifier...).
via http://bashscripts.org/forum/viewtopic.php?f=7&t=849
Edit : Confirmation :
1 - original ; 24 photos : 50.8Mo
2 - avec options optimize et progressive : 46.9Mo
3 - avec option grayscale (en plus) : 44.9Mo
Je m'attendais à un gain plus important mais c'est déjà ça.
Edit2 (20141104) :
Je viens de recevoir un signalement par email que la syntaxe ci-dessus est FAUSSE. Ou du moins ne fais pas ce que l'on espère. Je cite :
« il y a une faute d'innatention, les 3 commandes "jpegtran" prennent le fichier originale en entrée et écrivent sur le même fichier de sortie, donc il n'y a que la dernière optimisation qui est vraiment effectuée. »
(J'ai certainement synthétisé trop vite ici plusieurs commande que j'avais sur mon pc...)
On peut donc utiliser la syntaxe suivante (en plus c'est + court) :
#!/bin/bash
in_path=$1
out_path=$2for i in $in_path/*; do
out_file=$(basename $i)
jpegtran -optimize -progressive -grayscale -outfile $out_path/$out_file $i
done
Merci à l'utilisateur, de chez https://www.linuxmint-fr.org, qui a voulu rester anonyme.
Bon j'ai comme l'impression qu'avec Windows il n'existe que... 16 couleurs... :-P