## 10 - pipes et boîte à outils

- 10.1 : utiliser `alias grep` pour verifier que l'alias existe, sinon ajouter `alias grep="grep --color=auto"` au `.bashrc` et le recharger.
- 10.2 : `cat /etc/passwd | grep "/bin/bash"`
- 10.3 : `cat /etc/passwd | grep "/bin/bash" | tr ':' ' ' | awk '{print $1}'` (on peut aussi utiliser `awk -F:`, ou la commande `cut`)
- 10.4 : `cat /etc/passwd | grep "nologin$" | tr ':' ' ' | awk '{print $1}'`
- 10.5 : Les utilisateurs n'ayant pas de mot de passe sont typiquement caractérisés par un `:x:` sur la ligne (ou eventuellement un `:!:`) dans `/etc/shadow`. On utilise alors un grep 'inversé' (`-v`) pour obtenir les lignes des utilisateurs qui ont vraiment un mot de passe. On utilise aussi un "ou" dans grep (avec `\|`) pour ignorer à la fois les lignes contenant `:!:` et `:x:`.

```bash
sudo cat /etc/shadow | grep -v ":\!:\|:x:" | awk -F: '{print $1}'
```

- 10.6 :

```bash
alias esquecestleweekend='date | grep "^Sat \|^Sun " >/dev/null && echo "Cest le weekend" && echo "Cest le weekend" || echo "Arg il faut encore taffer!"
```

- 10.7 : Les lignes vides correspondent à `^$` (début de ligne suivi de fin de ligne) donc : `cat /etc/login.defs | grep -v "^$"` Pour enlever également les commentaires, on utilise un "ou" dans grep (`\|`), ce qui donne : `cat /etc/login.defs | grep -v "^$\|^#"`
- 10.8 : `dpkg-query --status vim | grep -q 'Status: install ok installed' && echo Oui || echo Non`
- 10.9 : `grep -nr "daemon" /etc/`
- 10.10 : `ps -ef | grep -v "UID" | awk '{print $1}' | sort | uniq -c`
- 10.11 : `cat loginattempts.log  | awk '{print $9}' | sort | uniq -c | sort -n`

