Projet

Général

Profil

Shell secours » Historique » Révision 4

Révision 3 (Julien Enselme, 13/08/2013 21:34) → Révision 4/16 (Julien Enselme, 14/08/2013 17:11)

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@ $RANDOM (*bash uniquement*) : tire un nombre aléatoirement entre 0 - 32767 
 * @fortune 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=`( seed=`( echo $$ ; time ps ; w ; date ) | cksum | cut -f1 -d" " `@ ` : utilise la date où le PID du dernier processus. 
 * @dd 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.