In LinuxPresque tout est du texte : fichiers de configuration, journaux, scripts et même le résultat des commandes système. C'est pourquoi savoir traiter efficacement des données texte via la ligne de commande est une compétence qui peut considérablement accélérer votre flux de travail et vous donner plus d'assurance dans l'administration système et l'automatisation des tâches.
Cet article rassemble les commandes fréquemment utilisées pour analyser, filtrer, comparer et transformer des données textuelles dans LinuxChaque commande est accompagnée d’explications et d’exemples — enregistrez ceci comme aide-mémoire pratique !
Affichage du contenu du fichier
cat -n file1
Affiche le contenu d'un fichier avec les numéros de ligne à gauche — utile pour le débogage et le référencement.
cat example.txt | awk 'NR%2==1'
Filtre et affiche uniquement les lignes impaires d'un fichier — utile pour analyser les journaux ou travailler avec des modèles.
Extraction de colonnes spécifiques
echo a b c | awk '{print $1,$3}'
Imprime la première et la troisième partie de la ligne (séparées par des espaces) — aide à extraire les éléments nécessaires des données structurées.
echo a b c | awk '{print $1}'
Imprime uniquement le premier élément de la ligne — un échantillon minimal pour l'analyse.
Comparaison des fichiers pour détecter les différences
comm -3 file1 file2
Affiche les lignes différentes entre deux fichiers, à l'exclusion des lignes communes — pratique pour la synchronisation des fichiers de configuration.
comm -1 file1 file2
Affiche uniquement les lignes manquantes dans file2 — utilisé pour comparer les fichiers originaux et modifiés.
comm -2 file1 file2
Affiche les lignes manquantes file1 mais présent dans file2 — utile pour suivre les entrées ajoutées.
sdiff file1 file2
Affiche une comparaison ligne par ligne côte à côte de deux fichiers, ce qui est idéal pour repérer les différences exactes.
Recherche dans des fichiers texte
grep [0-9] /var/log/messages
Recherche les lignes contenant au moins un chiffre — utile pour identifier rapidement les entrées avec des identifiants, des codes, etc.
grep ^Aug /var/log/messages
Filtre les lignes commençant par « août » : pratique lorsque vous travaillez avec des journaux par date.
grep Aug /var/log/messages
Affiche toutes les lignes contenant « Aug » n'importe où — une recherche rapide par mot-clé.
grep Aug -R /var/log/*
Recherche récursivement tous les fichiers du répertoire pour la chaîne « Aug » — puissant pour analyser les journaux ou les configurations.
Fusionner les fichiers ligne par ligne
paste -d '+' file1 file2
Joint les lignes de deux fichiers en utilisant le symbole « + » comme délimiteur — crée une vue de données compacte.
paste file1 file2
Combine les lignes correspondantes de deux fichiers côte à côte — utile pour comparer les données.
Édition de texte avec sed
sed 's/string1/string2/g' example.txt
Effectue un remplacement global de string1 avec string2 tout au long du fichier — substitution de modèle de base.
sed '/ *#/d; /^$/d' example.txt
Supprime les lignes vides et les lignes de commentaires (commençant par #) — utile pour nettoyer les fichiers de configuration.
sed '/^$/d' example.txt
Supprime uniquement les lignes vides — condense le texte sans affecter le contenu.
sed -e '1d' example.txt
Supprime la première ligne du fichier — peut être utilisé pour ignorer les en-têtes.
sed -n '/string1/p'
Affiche uniquement les lignes qui contiennent string1 — un moyen rapide d'extraire par modèle.
sed -e 's/string//g' example.txt
Supprime toutes les occurrences de un magnifique à partir du fichier — utilisé pour supprimer les mots-clés ou le bruit.
sed -e 's/ *$//' example.txt
Supprime les espaces de fin de ligne, ce qui est utile pour le nettoyage avant le partage de fichiers.
sed -n '5p;5q' example.txt
Affiche uniquement la cinquième ligne du fichier — équivalent de la sélection de points.
sed -n '2,5p' example.txt
Imprime les lignes 2 à 5 incluses — utile lors de l'analyse d'une partie du fichier.
sed -e 's/00*/0/g' example.txt
Remplace toute séquence de zéros par un seul zéro — idéal pour normaliser les données numériques.
Lignes de tri et de filtrage
sort file1 file2
Trie le contenu combiné de deux fichiers par ordre alphabétique ou numérique — une opération d'analyse de base.
sort file1 file2 | uniq
Supprime les lignes en double après le tri — nettoie les données répétées.
sort file1 file2 | uniq -u
Affiche uniquement les lignes uniques — permet de trouver les entrées qui n'apparaissent qu'une seule fois.
sort file1 file2 | uniq -d
Affiche uniquement les lignes répétées — utile pour identifier les doublons.
Modification de la casse des caractères
echo 'word' | tr '[:lower:]' '[:upper:]'
Convertit tous les caractères en majuscules — utile pour la normalisation des données.
Ces commandes peuvent être utilisées individuellement ou combinées pour créer de puissants pipelines de traitement de données. Par exemple, vous pouvez lire un fichier, filtrer des lignes par mots-clés, trier et supprimer les doublons, le tout avec une seule commande de terminal !