Shell secours » Historique » Révision 5
Révision 4 (Julien Enselme, 14/08/2013 17:11) → Révision 5/16 (Julien Enselme, 04/09/2013 00:54)
Liste de commandes pour des actions spécifiques. Pas/peu de détails/explications, [[Petit precis de shell|prérequis de shell]] supposés connus.
{{toc}}
h1. Générer des nombres aléatoires
* @$RANDOM@ (*bash uniquement*) : tire un nombre aléatoirement entre 0 - 32767
* @fortune | cksum | cut -f1 -d" "@ : si RANDOM n'est pas disponible, la commande @fortune@ qui tire aléatoirement un proverbe l'est peut être. On en prend la somme pour obtenir un nombre.
* @seed=`( echo $$ ; time ps ; w ; date ) | cksum | cut -f1 -d" " `@ : utilise la date où le PID du dernier processus.
* @dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -f1 -d" "@ : utilise l'entrée d'entropie du noyau. C'est la meilleur méthode, la plus robuste pour générer de l'aléatoire.
h1. Prendre les x caractères d’une chaîne
@cut -cN-M@
h1. Revenir dans le répertoire précédent
@cd -@
h1. Vérifier paramètre non passé
@! -z $2@. L'option -n ne semble pas avoir le résultat attendu.
h1. Trier
@sort@
h1. compter
* @wc@ : pour les mots, caractères, nombres de lignes
* @let@ : pour les opérations mathématiques
h1. Savoir si une chîne est contenue dans une autre
* @[[ reg_exp =~ contenant ]]@ *bash uniquement*
* @[ grep "reg_exp" chaine ]@
h1. Renommer les fichiers en fonction d’une expression régulière
<pre>
<code class="bash">
for file in `ls` ; do
a=`echo $file | sed 's/\(.*\)\.dump\(.*\)\.sql/\2.\1.sql/'`
mv $file $a
done
</code>
</pre>
On peut également utiliser Emacs.
h1. Faire une copie statique d’un site
wget -mkKE assos.centrale-marseille.fr/NOM