Projet

Général

Profil

Shell secours » Historique » Version 10

Julien Enselme, 31/01/2014 17:51
Renommer les fichiers en fonction d’une expression régulière : ajout d'un lien pour emacs

1 9 Julien Enselme
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. Si une commande est donnée pour bash uniquement, cela signifie qu'elle n'est pas compatible avec le shell POSIX ou d'autres implémentations basiques mais est vraisemblablement disponible dans les autres implémentations évoluées telles que zsh.
2 1 Julien Enselme
3 2 Julien Enselme
{{toc}}
4
5 1 Julien Enselme
h1. Générer des nombres aléatoires
6
7 4 Julien Enselme
* @$RANDOM@ (*bash uniquement*) : tire un nombre aléatoirement entre 0 - 32767
8
* @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.
9
* @seed=`( echo $$ ; time ps ; w ; date ) | cksum | cut -f1 -d" " `@ : utilise la date où le PID du dernier processus.
10
* @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.
11 1 Julien Enselme
12
h1. Prendre les x caractères d’une chaîne
13
14
@cut -cN-M@
15
16
h1. Revenir dans le répertoire précédent
17
18
@cd -@
19
20
h1. Vérifier paramètre non passé
21
22 3 Julien Enselme
@! -z $2@. L'option -n ne semble pas avoir le résultat attendu.
23 1 Julien Enselme
24
h1. Trier
25
26
@sort@
27
28 8 Julien Enselme
h1. Compter
29 1 Julien Enselme
30 3 Julien Enselme
* @wc@ : pour les mots, caractères, nombres de lignes
31 8 Julien Enselme
* @let@ ou @$(( 6+8 )) : pour les opérations mathématiques
32 1 Julien Enselme
33 6 Ismaeil Abouljamal
h1. Savoir si une chaîne est contenue dans une autre
34 3 Julien Enselme
35
* @[[ reg_exp =~ contenant ]]@ *bash uniquement*
36 7 Geoffroy Desvernay
* @grep -q "reg_exp" chaine@
37 3 Julien Enselme
38 1 Julien Enselme
h1. Renommer les fichiers en fonction d’une expression régulière
39
40 3 Julien Enselme
<pre>
41
<code class="bash">
42
for file in `ls` ; do
43
  a=`echo $file | sed 's/\(.*\)\.dump\(.*\)\.sql/\2.\1.sql/'`
44
  mv $file $a
45
done
46
</code>
47
</pre>
48
49 10 Julien Enselme
On peut également "utiliser Emacs":http://assos.centrale-marseille.fr/jenselme/content/emacs-edition-multiple.
50 5 Julien Enselme
51
h1. Faire une copie statique d’un site
52
53
wget -mkKE assos.centrale-marseille.fr/NOM