Récapitulatif Linux intermédiaire — traitement de texte et scripts shell
Cet article fait partie du Cours Linux, qui vous permet de maîtriser à partir de zéro des compétences Linux concrètes, des commandes de base jusqu'aux scripts shell.
Une seule page qui réunit les expressions régulières de grep, puis sed, awk, sort uniq cut wc tr tee, tar ln diff et du df date, plus la syntaxe shell des variables, arguments, conditions, boucles, fonctions, entrée, intégration de commandes et sortie — avec des schémas de classification et un tableau aide-mémoire par domaine.
Une vue d'ensemble de ce que tu as appris en Linux intermédiaire
Cette page n'est pas un exercice en navigateur : c'est un tour complet du niveau intermédiaire (traitement de texte I1–I10 et scripts shell S1–S10). Elle réunit les deux volets sur une seule page, avec des schémas et un tableau aide-mémoire par domaine. Côté traitement de texte : rechercher et substituer, agréger des colonnes, mettre en forme, archiver, comparer, consulter les informations système. Côté scripts shell : des variables jusqu'à la lecture d'entrée, l'intégration de commandes et l'écriture de rapports. Sers-toi des tableaux aide-mémoire comme d'un index : quand une notion demande un rappel, reviens directement à l'article d'où elle vient.
Aide-mémoire — expressions régulières, sed, awk
C'est le groupe central pour rechercher, substituer, extraire et agréger du texte. Filtre les lignes avec les expressions régulières de grep, substitue et manipule les lignes avec sed, puis extrais les colonnes et agrège-les avec awk. Une fois les symboles maîtrisés, travailler sur des logs et du CSV devient bien plus simple.
| Syntaxe | Signification |
|---|---|
^ / $ | Correspondre au début ou à la fin d'une ligne |
. / * | N'importe quel caractère / l'élément précédent répété zéro fois ou plus |
[abc] / [a-z] | Classe de caractères (l'un d'eux, ou un intervalle) |
grep -E | Regex étendues (+ | () deviennent disponibles) |
grep -o | Afficher uniquement la partie correspondante |
| Syntaxe | Signification |
|---|---|
sed 's/old/new/' | Remplacer le premier old de chaque ligne par new |
sed 's/old/new/g' | Remplacer chaque old de la ligne |
sed -n 'Np' | Extraire uniquement la ligne N |
sed '/pat/d' | Supprimer les lignes contenant pat |
sed -i | Réécrire le fichier en place |
| Syntaxe | Signification |
|---|---|
awk '{print $1}' | Afficher la colonne 1 ($NF est la dernière colonne) |
awk -F',' | Changer le séparateur |
NR / NF | Numéro de ligne / nombre de champs sur cette ligne |
/pat/{ … } | Appliquer l'action seulement aux lignes correspondantes |
BEGIN{} … END{} | Préparer avant le traitement et agréger après |
Aide-mémoire — outils de mise en forme et commandes de fichiers
Voici les outils de mise en forme pour trier, retirer les doublons, extraire des colonnes, compter des lignes, convertir des caractères et dupliquer la sortie, plus les commandes de fichiers pour les archives, les liens, les différences et les infos système. Enchaîne-les avec des pipes pour préparer les données avant l'agrégation et la mise en forme des rapports.
| Syntaxe | Signification |
|---|---|
sort / sort -n | Trier (-n trie numériquement) |
uniq / uniq -c | Retirer les doublons consécutifs (-c ajoute le nombre) |
cut -d',' -f1 | Extraire une colonne avec un séparateur donné |
wc -l / wc -w | Compter les lignes / les mots |
tr a-z A-Z / tr -d / tr -s | Convertir, supprimer des caractères et compresser les répétitions |
tee file | Envoyer la sortie à la fois à l'écran et dans un fichier |
| Syntaxe | Signification |
|---|---|
tar -cf a.tar dir | Regrouper un dossier en un seul fichier (non compressé) |
tar -tf a.tar | Lister le contenu d'une archive |
tar -xf a.tar / -C dir | Extraire (-C choisit la destination) |
ln -s target name | Créer un lien symbolique (le -> de ls -l) |
ln a b | Créer un lien physique |
diff a b / diff -u | Afficher les différences (-u est le format unifié) |
du -sh / df -h | Afficher l'espace utilisé et l'espace libre dans des unités faciles à lire |
date +%Y-%m-%d / uname -a | Mettre en forme la date et afficher les infos du noyau |
Aide-mémoire — syntaxe des scripts shell
Voici la syntaxe des variables, arguments, conditions, boucles et fonctions jusqu'à la lecture d'entrée, l'intégration de commandes et la sortie. Commence par #!/bin/sh, rends le script exécutable avec chmod +x, et lance-le avec ./fichier. Le shell de ce cours est ash, donc utilise [ ] avec if ([[ ]] est une extension bash).
| Syntaxe | Signification |
|---|---|
#!/bin/sh / chmod +x f / ./f | Shebang, ajout du droit d'exécution, lancement |
v=x / "$v" | Affecter et référencer une variable (entoure-la de guillemets par sécurité) |
$1 / $@ / $# | Premier argument / tous les arguments / nombre d'arguments |
${1:-def} | Valeur par défaut quand l'argument manque |
$(...) / $(( )) | Substitution de commande / expansion arithmétique |
[ -f f ] / if … fi / case | Tests de fichiers et branchement conditionnel |
for … do … done / while | Répéter un traitement |
name() { … } / local | Définir une fonction et des variables locales |
while read line; do … done < f | Lire un fichier une ligne à la fois |
printf '%s\t%s\n' a b | Sortie formatée (tabulation et saut de ligne explicites) |
> f / >> f / 2> err | Écraser, ajouter et séparer l'erreur standard |
<<EOF … EOF / $? | here-doc / le code de sortie le plus récent |
Beau travail sur le niveau intermédiaire !
Tu as maintenant l'ensemble complet : la recherche avec les expressions régulières, la substitution et l'agrégation avec sed / awk, la mise en forme avec sort / uniq / cut / wc / tr / tee, et le travail sur les fichiers avec tar / ln / diff et les commandes d'infos système. Côté scripts, tu as les variables, les arguments, les conditions, les boucles et les fonctions, jusqu'à la lecture d'entrée, l'intégration de commandes et la sortie de rapports. Combine-les et tu peux automatiser l'essentiel du travail quotidien — agrégation de logs, tâches répétitives.
Garde cet aide-mémoire sous la main, et quand tu oublies un bout de syntaxe, retourne à l'article concerné et essaie-le en pratique. Ensuite, assemble ce que tu as appris et commence par un petit script d'automatisation taillé pour ton propre travail.