Commandes shell pour le découpage, l'édition et le tri de texte

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

Étiquettes: cut sed awk sort Shell

Publié le 25 juin à 19h24