Trucs et astuces pour commencer 2021

Nouvelle année

Chaise renversée avec des chaussures

Lancer plusieurs instructions make en parallèle

Après un `aptitude install parallel` voici comment exécuter en même temps deux cibles.

parallele make ::: clear-cache build-css

Grep avec des chaînes binaires

Très utile pour les `dumps` de tables contenant du texte binaire, résultat la fonction encode (cf https://mariadb.com/kb/en/encode/)

grep -a pattern sql-dump.sql > extract.txt

Composer

# because composer will never downgrade with `require`
composer require --no-update
composer update
composer why package-name
# error in json?
composer validate

Docker compose get an ip

Pour récupérer l’adresse IP du container `app` appartenant à un `docker-compose`.

docker inspect \
     --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' \
    `docker-compose ps -q app`

Bash

Lire le contenu d’un fichier csv, sans la ligne d’entêtes

cat toto.csv | tail -n +2

Awk

Utiliser awk pour générer un faux email dans un fichier csv incomplet (spécial dédicace aux clients qui fournissent des fichiers csv incomplets)

 awk -F ';' '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,"fake-"$1"@null.io",$11,$12,$13}'  OFS=\;

Mysql

Générer des prix aléatoires dans une colonne:

update oxarticles set oxprice= round(round(RAND() * 10, 2)*10,2) ;