Domaine public 🅭

CMS minimal
ecrit avec VI

[ /  ^ < ]

data

pluriel de datum = donnée en latin

sauvegardes
menage
forensique
bases_de_donnees
j-pilot
graphes
effacer       28/04/2025
index       20/03/2025
macro processeur malconnu      18/11/2024
vi et plus      11/10/2021
ocr       03/01/2025
comparaison fichiers       15/04/2025
virer les metadata      28/03/2025
recupere la date      05/01/2024
terminal graphic       16/05/2025
flash terminal       15/05/2025
divers       05/06/2025

# quand on supprime un fichier, l'espace est libéré mais les données restent sur le disque.
la shred supplée
il existe aussi secure-delete
un jeu de commandes: srm, sfill, sswap et sdmem

# par la suite pour savoir instantanement si un fichier retrouvé est déjà présent
for i in *; do test -d "$i" && find "$i" -type f -exec md5sum {} \; > "$i.md5sum"; done

# pour expliciter les caractères de contrôle dans un fichier : commande teseq
# ou les virer
teseq -EDLC your-file.txt | reseq - - | col -b > new-file.txt

m4

alors qu'il est installé sur TOUT les linux http://www.gnu.org/software/m4 surprenant et addictif les fins de lignes, espaces ou cotes sont traitées comme n'importe quel caractère seule protection (optonelle) `.....' ( accent grave ..... simple quote ) pour éviter de tapper plusieurs fois la même chose définir une macro: define(toto,sdfqsdfqsdfqsdfqsdfqsdfq) le séparateur de champs est la virgule "," /!\ les espaces devant un paramètre sont ignorées un nom de macro doit commencer par une lettre et n'est pas reconnue si collée à un caractère ifdef(`toto',toto,macro toto inconnue) obligation de proteger le premier toto syscmd(commande shell) sysval code retour du dernier syscmd() ifelse(sysval, 0, OK,NOK) # avec un seul parametre eq commentaire pour que le retour de la commande soit traité il faut utiliser esyscmd la commande `m4exit' doit être protégé sinon elle sort même dans une définition ou une partie négative d'un test doc Macro Magic: m4 1 2 copie locale Generating code in M4: introduction raw copie locale

outre l'éditeur de texte frugal et puissant, deux extention interessantes:
vimdiff
vimdot

# OCR issu d'un programme HP libéré en 2005 après la bataille
# il faut obligatoirement indiquer un nom de fichier destination
# auquel sera ajouté .txt
tesseract -l fra   fichier_image.png    nom_texte

# il y a une interface graphique dans les déports ou https://github.com/manisandro/gImageReader

la commande "diff" en mode graphique diffuse (dans les dépots)

# virer les metadata
en ligne de commande mat2 (dans les dépots) copy par exemple fichier.png en fichier.cleaned.png.
interface graphique : metadata-cleaner (idem)

DP="$(exif -t 0x0132  fichier_photo.jpg | awk '$1 == "Value:" {print $2 "_" $3}' | tr : - | cut -c-12)"
test "$DP" && touch -t $DP fichier_photo.jpg

# kitty pour afficher plus de caractères UNICOD sur le terminal
# par l'auteur de calibre lecteur de livres numériques
# un peu comme Alacritty qui est aussis dans les dépots

# fbcat et son "wrapper" fbcgrab flash les consoles
sleep 5; [Ctrl][Alt][F1]fbgrab non_de_fichier.png # permet de faire une copie d'écran


# hungrycat cat et rm au fur et a mesure
# copie locale hungrycat-0.4.2.tar.gz

#! /bin/bash
# substitution de l'alphabet par des lettres contrefaites pour passer les filtres
# la commande tr ne fonctionne pas
# toute option inversera la manipulation
REV=""
expr "$1" : - > /dev/null && shift && REV=REV
for i in $*; do test -f "$i" || exec echo "$0 : $i n'est pas un fichier"; done
if test "$REV"; then
    cat $* | sed \
    -e 's/A/A/g' \
    -e 's/B/B/g' \
    -e 's/C/C/g' \
    -e 's/D/D/g' \
    -e 's/E/E/g' \
    -e 's/F/F/g' \
    -e 's/G/G/g' \
    -e 's/H/H/g' \
    -e 's/I/I/g' \
    -e 's/J/J/g' \
    -e 's/K/K/g' \
    -e 's/L/L/g' \
    -e 's/M/M/g' \
    -e 's/N/N/g' \
    -e 's/O/O/g' \
    -e 's/P/P/g' \
    -e 's/Q/Q/g' \
    -e 's/R/R/g' \
    -e 's/S/S/g' \
    -e 's/T/T/g' \
    -e 's/U/U/g' \
    -e 's/V/V/g' \
    -e 's/W/W/g' \
    -e 's/X/X/g' \
    -e 's/Y/Y/g' \
    -e 's/Z/Z/g' \
    -e 's/a/a/g' \
    -e 's/b/b/g' \
    -e 's/c/c/g' \
    -e 's/d/d/g' \
    -e 's/e/e/g' \
    -e 's/f/f/g' \
    -e 's/g/g/g' \
    -e 's/h/h/g' \
    -e 's/i/i/g' \
    -e 's/j/j/g' \
    -e 's/k/k/g' \
    -e 's/l/l/g' \
    -e 's/m/m/g' \
    -e 's/n/n/g' \
    -e 's/o/o/g' \
    -e 's/p/p/g' \
    -e 's/q/q/g' \
    -e 's/r/r/g' \
    -e 's/s/s/g' \
    -e 's/t/t/g' \
    -e 's/u/u/g' \
    -e 's/v/v/g' \
    -e 's/w/w/g' \
    -e 's/x/x/g' \
    -e 's/y/y/g' \
    -e 's/z/z/g' \

else
    cat $* | sed \
    -e 's/A/A/g' \
    -e 's/B/B/g' \
    -e 's/C/C/g' \
    -e 's/D/D/g' \
    -e 's/E/E/g' \
    -e 's/F/F/g' \
    -e 's/G/G/g' \
    -e 's/H/H/g' \
    -e 's/I/I/g' \
    -e 's/J/J/g' \
    -e 's/K/K/g' \
    -e 's/L/L/g' \
    -e 's/M/M/g' \
    -e 's/N/N/g' \
    -e 's/O/O/g' \
    -e 's/P/P/g' \
    -e 's/Q/Q/g' \
    -e 's/R/R/g' \
    -e 's/S/S/g' \
    -e 's/T/T/g' \
    -e 's/U/U/g' \
    -e 's/V/V/g' \
    -e 's/W/W/g' \
    -e 's/X/X/g' \
    -e 's/Y/Y/g' \
    -e 's/Z/Z/g' \
    -e 's/a/a/g' \
    -e 's/b/b/g' \
    -e 's/c/c/g' \
    -e 's/d/d/g' \
    -e 's/e/e/g' \
    -e 's/f/f/g' \
    -e 's/g/g/g' \
    -e 's/h/h/g' \
    -e 's/i/i/g' \
    -e 's/j/j/g' \
    -e 's/k/k/g' \
    -e 's/l/l/g' \
    -e 's/m/m/g' \
    -e 's/n/n/g' \
    -e 's/o/o/g' \
    -e 's/p/p/g' \
    -e 's/q/q/g' \
    -e 's/r/r/g' \
    -e 's/s/s/g' \
    -e 's/t/t/g' \
    -e 's/u/u/g' \
    -e 's/v/v/g' \
    -e 's/w/w/g' \
    -e 's/x/x/g' \
    -e 's/y/y/g' \
    -e 's/z/z/g' \

fi

ƒraηcois✉memoρersο.ƒr