CLI, regex, and Git
Prenons un répertoire avec plusieurs fichiers, dont le fichier ajout.md
Explorer¶
- Compter les mots:
wc -w ajout.md
- Compter les lignes:
wc -l ajout.md
- Compter les caractères:
wc -c ajout.md
- Compter plusieurs fichiers (ou une liste de fichiers):
wc -w *.md
- Envoyer les résultats dans un dossier/fichier (tsv, txt, csv):
wc -w *.md > r.txt
Rechercher¶
- Trouver un patron (sensible à la casse):
grep git *.md
- Compter un patron (sensible à la casse):
grep -c git *.md
- Trouver un patron (insensible à la casse):
grep -i git *.md
- Compter un patron (insensible à la casse):
grep -ci git *.md
- Trouver un patron (inverser la recherche):
grep -i git *.md
- Trouver un patron et le numéro de la ligne:
grep -n git *.md
- Trouver une/des chaines de caractères dans un fichier (une source de chaine de caractères sous forme de liste) et le numéro de la ligne:
fgrep -f -n source *.md
grep
et fgrep
fonctionnent sur une chaine complète (un mot), mais non sur un chaine dans une chaine (quelques caractères dans un mot).
egrep
(ou l’option -E
) fonctionne sur un chaine dans une chaine (quelques caractères dans un mot).
Utiliser les regex¶
- Trouver un patron étendu:
grep -E -n "(G|g)it" *.md, egrep -n "(G|g)it" *.md
- Trouver des cas avec apostrophes:
egrep --color "' " *.md
- Trouver des cas avec trois voyelles:
grep --color "[aeiou]{3}" *.md
- Trouver des cas:
egrep --color "(J|j)e (veux|voulais|voudrais|voudrai|veuille)" *.md
Sommaire des options¶
-n
(numéro de la ligne)-f
(fichier source ou fold pour convertir la casse)-v
(inverser la recherche)-w
(mots précis)--color
(colorer)
Exemple: fgrep -v -w -f source *.md
Lire, afficher¶
- Consulter les métadonnées du fichier:
file ajout.md
- Lire le fichier:
head ajout.md
,tail ajout.md
,less ajout.md
(Q),cat ajout.md
- Trier un fichier:
sort fichier.md
- Filtrer les valeurs uniques:
uniq fichier.md
- Combiner avec des tubes:
sort fichier | uniq | head > résultat.txt
Télécharger¶
- Télécharger un fichier:
wget url