Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
fr:bestpractices [2018/03/28 16:27] – /* tr */ merlin8282 | fr:bestpractices [2018/03/28 17:40] – [Options peu utilisées/connues] /* description */ merlin8282 | ||
---|---|---|---|
Ligne 154: | Ligne 154: | ||
19 20 21 22 23 24 25 | 19 20 21 22 23 24 25 | ||
26 27 28 29 30 31 | 26 27 28 29 30 31 | ||
+ | | ||
$ cal dec 9999 | $ cal dec 9999 | ||
| | ||
Ligne 192: | Ligne 193: | ||
Remplacer les caractères ' | Remplacer les caractères ' | ||
+ | |||
+ | |||
+ | ==== awk ==== | ||
+ | '' | ||
+ | |||
+ | Voici quelques exemples, qui sont loin d' | ||
+ | |||
+ | $ sentence=" | ||
+ | $ printf " | ||
+ | year-month-day | ||
+ | |||
+ | Cela affiche le premier élément de la phrase, les éléments étant (par défaut) les chaînes de caractères séparées par une espace. | ||
+ | |||
+ | $ printf " | ||
+ | comment" | ||
+ | |||
+ | '' | ||
+ | |||
+ | $ printf " | ||
+ | this is a comment | ||
+ | |||
+ | Ici on redéfinit le séparateur, | ||
+ | |||
+ | |||
+ | $ printf " | ||
+ | ms "this is a comment" | ||
+ | |||
+ | Redéfinition du séparateur à '' | ||
+ | |||
+ | $ printf " | ||
+ | year-month-day hours: | ||
+ | |||
+ | On peut aussi matcher des expressions rationnelles avec '' | ||
+ | |||
+ | $ printf " | ||
+ | :ms | ||
+ | |||
+ | On peut aussi n' | ||
+ | |||
+ | $ lines=" | ||
+ | $ printf " | ||
+ | line2 | ||
+ | |||
+ | On peut dire à awk de ne chercher une chaîne correspondante que dans un seul élément ; ici on cherche '' | ||
+ | |||
+ | $ printf " | ||
+ | line2 | ||
+ | |||
+ | Cela revient au final à la même chose que ci-dessus, étant donné que l'on n'a qu'un seul élément par ligne. | ||
+ | |||
+ | $ printf " | ||
+ | line1 | ||
+ | line2 | ||
+ | line3 | ||
+ | |||
+ | On matche '' | ||
+ | |||
+ | $ printf " | ||
+ | line3 | ||
+ | |||
+ | Eh oui, seul '' | ||
+ | |||
===== Options peu utilisées/ | ===== Options peu utilisées/ | ||
+ | On trouve souvent des exemples de commandes sur le web, sur comment effectuer telle ou telle action. Cependant, ce que l'on voit de ces commandes pourtant si puissantes n'est que la partie émergée de l' | ||
==== find ==== | ==== find ==== | ||
- | Pour supprimer des fichiers de manière automatisée on pourrait être tenté d' | ||
- | | + | find /var/ -mount -maxdepth 1 -type f -exec ls -lh {} \; |
- | Cette commande | + | La commande '' |
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | Enfin '' | ||
+ | Il est possible de mettre le signe ' | ||
- | Pour bien faire les choses, autant dire directement à la commande '' | ||
- | find /var/tmp/ -type d -name .svn -exec rm -rf {} \; | ||
==== grep / wc ==== | ==== grep / wc ==== | ||
On voit très très souvent des oneliners qui, pour compter le nombre de lignes font ceci : | On voit très très souvent des oneliners qui, pour compter le nombre de lignes font ceci : | ||
Ligne 242: | Ligne 310: | ||
Cela n'est qu'un exemple. À chaque modification il faut se poser la question : " | Cela n'est qu'un exemple. À chaque modification il faut se poser la question : " | ||
+ | |||
+ | |||
+ | ==== find ==== | ||
+ | Pour supprimer des fichiers de manière automatisée on pourrait être tenté d' | ||
+ | |||
+ | rm -rf `find /var/tmp/ -type d -name .svn` | ||
+ | |||
+ | Cette commande cherche tous les dossiers nommés '' | ||
+ | |||
+ | Pour bien faire les choses, autant dire directement à la commande '' | ||
+ | |||
+ | find /var/tmp/ -type d -name .svn -exec rm -rf {} \; | ||
{{tag> | {{tag> |