Sept. 11, 2018, 12:13 p.m., by Lem

Shell - Random oneliners

[Liste évolutive]
Commandes shell pour des trucs +/- tricky :

awk '{ total += $2 } END { print total/NR }' yourFile.whatever (moyenner sur 2e colonne d'un fichier)
awk '{a[$1]+=1;}END{for(i in a)print i" "a[i];}' user_input/ind_g.txt (nombre de lignes groupées par première colonne)
awk '{a[$1]+=$5;}END{for(i in a)print i" "a[i];}' bla.txt | sort -t" " -nk2 (trier les sommes par première colonne)
grep -E "[1-9]$|[0-9][0-9]$" bla.txt (sélectionner lignes finissant par un nombre supérieur à 0)
grep -vE "^cd|^ls|^mv|^clear|^ssh|^scp|^python" ~/.bash_history (lister commandes de l'historique en retirant les plus basiques)
:%s/^\([^ ]*\) [^ ]* /\1 0 /g (dans vim, pour remplacer la 2e colonne par des 0)
diff -y F1/user_input F2/user_input | more (afficher différences par fichier entre 2 répertoires de même structure, visuel en côte à côte paginé)
du -sch .[!.]* * |sort -h (liste contenu du dossier courant par taille, en incluant les fichiers cachés)
find -iname "*.odt" -mtime -3 -ls (lister tous les fichiers .odt (dans le répertoire courant et sous-répertoires) modifiés il y a moins de 3 jours)
find . -printf '%T+ %p\n' | sort -r | head -n 30 (similaire : liste les 30 derniers fichiers dans l'arborescence)


Sources et plus d'exemples : awk

> More Infotips articles

Add a comment

| RSS feed for all notifications | for dev news only