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 |