Affichage des articles dont le libellé est commandes. Afficher tous les articles
Affichage des articles dont le libellé est commandes. Afficher tous les articles

jeudi 16 septembre 2021

miller, traiter les fichiers CSV (et autres) en ligne de commande

Hier, j'ai découvert le programme mlr (source: https://github.com/johnkerl/miller). Il est installable par apt sous ubuntu.

Il permet d'effectuer des traitements sur les fichiers dont les données sont indexées par nom
name-indexed data such as CSV, TSV, and tabular JSON


La documentation semble bien étoffée: https://miller.readthedocs.io/en/latest/index.html






Exemple pour retrouver les communes de Dordogne qui ont un code postal girondin (et oui, cela existe !) :


vendredi 20 novembre 2020

bash, appel callback à la sortie...

Il est possible en bash d'appeler des méthodes lorsque de la fin du script est atteinte et ce même s'il y a une erreur. Ci-dessous, le script appellera cleanup_err puis cleanup_ok lorsque false sera atteint.



C'est bien pratique pour nettoyer les fichiers et répertoires temporaires :)
trap

jeudi 30 avril 2020

commande, comparer des ensembles avec comm

Parfois, on a besoin de comparer des ensembles. La commande comm permet de faire ressortir :

  • les valeurs qui n'appartiennent qu'au fichier f1 (colonne 1)
  • les valeurs qui n'appartiennent qu'au fichier f2 (colonne 2)
  • les valeurs qui appartiennent aux fichiers f1 et f2 (colonne 3)
En jouant sur les options, on peut faire disparaître les valeurs d'une ou plusieurs colonnes
  • -1 pour faire disparaître la colonne 1
  • -2 pour faire disparaître la colonne 2
  • -3 pour faire disparaître la colonne 3
Attention, les fichiers doivent être au préalable triés.


Exemple :

samedi 15 février 2020

csv, visualiser en ligne de commande

Voici une commande à ajouter dans son .bashrc afin de visualiser le contenu d'un fichier CSV sans avoir à ouvrir une application spécifique.





mardi 9 juillet 2019

bash, lignes dupliquées

Dans d'anciens post, j'avais parlé de la commande uniq

Il est possible de ne garder que les lignes dupliquées. Il faut utiliser l'option -d




vendredi 20 avril 2018

commande, history

Parfois, on ne sait plus si on a relancé une commande dans le terminal...

Pour avoir un historique daté, voici une petite configuration à ajouter à son .bashrc



Désormais, l'appel à l'historique produit des lignes avec les informations jour/mois heure/minute

vendredi 9 septembre 2016

base64, encoder/décoder sous bash



On peut utiliser les programmes base64 (GNU coreutils) voir recode.

mardi 12 juillet 2016

ssh, tester l'état d'une connexion

Voici un petit code qui permet de tester l'état d'une connexion ssh (avec un timeout de 10s) :

sed, supprimer une ou des lignes en fonction de leurs numéros

Il est possible d'utiliser sed pour supprimer une ligne en fonction de son numéro ou un ensemble de lignes défini par le numéro de ligne de départ et de fin.

Voici un exemple :



Ceci permet d'éviter de jouer avec une succession de head/tail...

sed, ligne, lignes, supprimer , entre

mercredi 11 mai 2016

patch, en créer un et l'appliquer

Voici un exemple pour utiliser la commande patch :



Parfois, elle peut-être utile. Ici c'est surtout pour retenir l'option -p0 que je poste cet article.

mercredi 27 janvier 2016

bash, type mime

On peut déterminer le type mime d'un fichier en bash en utilisant la commande file

mercredi 7 janvier 2015

bash, créer dynamiquement une liste de paramètres pour appeler une commande

Voici comment créer dynamiquement une liste de paramètres et l'utiliser dans des appels de commande.
Le cas des espaces dans les options est bien géré.

Dans le cas présent, cela sert à afficher une boite de dialogue (utilitaire whiptail livré d'office sous debian) pour que l'utilisateur puisse choisir les actions à effectuer



Pour des radioboutons, remplacer --selectbox par --radiobox

vendredi 19 décembre 2014

bash, md5sum

On utilise souvent md5sum et sha1sum pour calculer des sommes de contrôle.

Ces commandes permettent aussi de contrôler celles-ci. Je viens de percuter cette semaine seulement !

Cela peut être pratique pour vérifier automatiquement qu'un/des fichier(s) de configuration a/ont été modifié(s) à la main et non généré(s).



md5sum, sha1sum, sommes de contrôle

mardi 7 octobre 2014

linux, copier un fichier dans plusieurs répertoires sans utiliser de boucle

Un truc et astuce pour copier un fichier à plusieurs endroits dans utiliser une boucle for...

Il suffit d'utiliser la commande xargs avec le paramètre -n 1 comme dans l'exemple ci-dessous :

jeudi 18 septembre 2014

bash, ajouter du contenu en début de fichier

Voici deux techniques pour ajouter du contenu en début de fichier.

L'une utilise le programme sponge mais nécessite l'installation du paquet moreutils, l'autre est "plus" standard puisqu'utilise tee disponible dans coreutils.



Une différence existe toutefois entre les deux. En effet tee produit sur la sortie standart le texte généré.

mardi 11 février 2014