cut
La commande cut permet d'extraire des segments de texte à partir de chaque ligne d'un fichier. Elle découpe des octets, caractères ou champs en fonction d'un délimiteur spécifié et affiche le résultat en sortie.
Utilisation de base
cut [options] fichier
Par défaut, le délimiteur est la tabulation.
Exemples
Préparer un fichier donnees.txt avec le contenu suivant :
alice martin
bob dupont
eve bernard
1. Extraire la première colonne :
cut -d " " -f 1 donnees.txt
Résultat :
alice
bob
eve
2. Extraire la deuxième et troisième colonnes :
cut -d " " -f 2,3 donnees.txt
Résultat :
martin
dupont
bernard
3. Extraire une ligne spécifique :
cat donnees.txt | grep "bob" | cut -d " " -f 1
Résultat :
bob
4. Manipuler une variable d'environnement :
echo $PATH
Résultat possible :
/usr/local/bin:/usr/bin:/bin:/usr/sbin
echo $PATH | cut -d: -f 2-
Résultat :
/usr/bin:/bin:/usr/sbin
5. Extraire une adresse IP depuis une sortie système :
ifconfig eth0 | grep "inet " | cut -d: -f 2 | cut -d" " -f1
Résultat exemple :
192.168.1.100
sed
sed est un éditeur de flux qui traite le texte ligne par ligne. Chaque ligne est placée dans un tampon temporaire appelé « espace de motifs », où les cmomandes sed sont appliquées. Le contenu modifié est affiché sans altérer le fichier original, sauf si une redirection est utilisée.
Utilisation de base
sed [options] 'commande' fichier
Exemples
Créer un fichier entree.txt avec :
alice martin
bob dupont
eve bernard
1. Insérer du texte après une ligne spécifique :
sed '2a nouveau texte' entree.txt
Résultat :
alice martin
bob dupont
nouveau texte
eve bernard
Le fichier original reste inchangé.
2. Supprimre les lignes contenant un motif :
sed '/bob/d' entree.txt
Résultat :
alice martin
eve bernard
3. Remplacer du texte :
sed 's/martin/dupont/g' entree.txt
Résultat :
alice dupont
bob dupont
eve bernard
Le drapeau 'g' effectue un remplacement global sur chaque ligne.
4. Combiner plusieurs commandes :
sed -e '2d' -e 's/martin/dupont/g' entree.txt
Résultat :
alice dupont
eve bernard
awk
awk est un outil d'analyse de texte puissant. Il lit le fichier ligne par ligne, divise chaque ligne en champs basés sur un séparateur par défaut (espace), puis applique des motifs et actions pour le traitement.
Utilisation de base
awk [options] 'motif1{action1} motif2{action2}...' fichier
Le motif spécifie ce qu'awk recherche dans les données, et l'action est une série de commandes exécutées lorsqu'un motif corespond.
Exemple
Utiliser le fichier donnees.txt précédent :
awk '$1 == "alice" {print $2}' donnees.txt
Résultat :
martin
Cet exemple affiche le deuxième champ de la ligne où le premier champ est "alice".
sort
La commande sort trie le contenu d'un fichier et affiche les résultats en sortie standard. Elle est utile pour organiser des données textuelles.
Utilisation de base
sort [options] fichier
Exemple
Trier les lignes du fichier donnees.txt :
sort donnees.txt
Résultat possible :
alice martin
bob dupont
eve bernard