Les développeurs Linux suivent la philosophie de créer de petits programmes qui font une tâche et la font bien. Prenons l'exemple des outils de traitement de texte Linux, ils sont légers et ont des fonctionnalités modulaires. Même si ces outils de manipulation de texte diffèrent par leur complexité et leurs fonctionnalités, ils sont utiles dans un environnement où l'interface utilisateur graphique n'est pas disponible.

L'article couvre les meilleurs outils Linux pour lire des fichiers et utiliser des expressions régulières pour effectuer des opérations sur le texte sélectionné. Il couvre également leurs fonctionnalités les plus élémentaires et des exemples pour une meilleure compréhension.

1. grep

grep est un utilitaire Linux de manipulation de texte qui recherche une chaîne de caractères ou des modèles connus sous le nom d'expressions régulières dans un fichier ou un texte. L'outil grep appartient à la famille des utilitaires qui incluent egrep, fgrep et grep, parmi lesquels fgrep est le plus rapide de tous, tandis que grep est le plus simple.

instagram viewer

La syntaxe générale d'utilisation de grep est la suivante :

grep -options chaîne nom de fichier

Par exemple, pour rechercher le mot "root" dans le fichier /etc/passwd:

grep root /etc/passwd

Voici quelques exemples de ligne de commande standard pour commencer :

Choix Exemple La description
-c grep-c ./bashrc Compter le nombre de lignes dans lesquelles la chaîne existe
-je grep -i ./bashrc Effectuer une recherche insensible à la casse pour la chaîne spécifiée
-o grep-o déposer Imprime uniquement la chaîne correspondante
-l grep -l "passwd" Imprime les noms de fichiers dans le répertoire courant qui correspondent au modèle
-n grep-n déposer Imprime le numéro de ligne le long de la ligne contenant la chaîne spécifiée
chaîne1|chaîne2 fichier grep "chaîne1|chaîne2" Rechercher et imprimer plusieurs chaînes à partir d'un fichier

De même, vous pouvez utiliser le ^ métacaractère avec la commande grep pour afficher toutes les chaînes correspondantes commençant par certains caractères.

Par exemple, la commande suivante dirige la sortie de la commande env comme une entrée vers grep et affiche les variables qui commencent par "HO":

env | grep ^HO

En rapport: Exemples pratiques des commandes Linux Grep

2. ok

awk est un langage de script puissant et un outil de manipulation de texte en ligne de commande qui peut effectuer des analyses ligne par ligne et comparer des lignes à des modèles. La syntaxe de base de la commande awk est une action définie entre un guillemet simple et des accolades suivies du nom de fichier.

awk '{action}' nom de fichier
awk '{motif; action}' nom de fichier

L'utilitaire recherche le fichier à l'aide d'expressions régulières et exécute la fonction définie dans le paramètre action. awk exécute le script sur chaque ligne si vous ne définissez pas de modèle, comme indiqué ci-dessous :

awk '{print $1}' awk_examples.txt

...où $1 affiche le premier champ de la awk_examples.txt déposer.

La commande suivante exécute la fonction d'impression sur le motif donné en remplaçant le deuxième champ "Monde" avec "Alice," et affiche toute la ligne ($0) :

echo "Bonjour le monde" | awk '{$2="Alice"; imprimer $0}'

Sortir:

Bonjour Alice

De même, vous pouvez utiliser la fonction imprimer $0 de la commande ci-dessus pour émuler le grep Fonctionnalité.

awk '/john/{print $0}' /etc/passwd
jean: x: 1001:1001::/home/jean:/bin/sh

3. sorte

sort est un autre utilitaire de ligne de commande Linux qui vous aide à afficher le contenu du fichier texte spécifié dans un format trié. Par exemple, vous pouvez diriger la sortie de la commande awk comme entrée de l'utilitaire de tri comme suit :

awk '{print $1}' awk_examples.txt | trier > sort_text.txt
chat sort_text.txt

Sortir:

En rapport: Comment trier des fichiers texte sous Linux à l'aide du tri

4. sed

sed ou l'éditeur de flux prend l'entrée sous forme de flux de caractères et effectue un filtrage et des transformations de texte (suppression, substitution et remplacement) sur le texte spécifié.

Vous pouvez l'utiliser dans un script et modifier des fichiers de manière non interactive. Par conséquent, l'objectif le plus fondamental de l'utilitaire est la substitution de chaînes/caractères. La syntaxe générale est :

sed 's/string/substitution/option' fichier

Créez un fichier en utilisant des phrases aléatoires pour pratiquer et comprendre le fonctionnement de cet utilitaire.

Remplaçons l'occurrence du mot "deux" sur chaque ligne du fichier avec "2" en utilisant le -g indicateur de remplacement global, comme suit :

sed 's/two/2/g' sed_examples.txt > sed_examples2.txt

De même, utilisez le -ré drapeau pour supprimer une ligne spécifique du fichier :

sed '2d' sed_examples.txt

Vous pouvez également remplacer la chaîne en spécifiant un numéro de ligne (4 s/deux/2/p) et en n'imprimant que la ligne remplacée comme suit :

sed -n '4 s/deux/2/p' sed_examples2.txt

le -n flag dans la commande ci-dessus désactive l'impression automatique du flux d'entrée vers la sortie. Vous pouvez utiliser cette option en votre faveur pour remplacer la fonctionnalité de l'utilitaire grep par sed.

Par exemple, vous pouvez modifier la commande ci-dessus en incluant uniquement un modèle regex /two/p tel que le -p flag n'imprimera que les lignes dans le flux de sortie standard.

sed -n '/deux/p' sed_examples2.txt

En rapport: Ces 10 exemples sed feront de vous un utilisateur expérimenté de Linux

5. Couper

La coupe est un autre utilitaire de ligne de commande qui coupe/extrait des parties de texte d'une ligne ou d'un fichier. Il coupe le texte en fonction d'un champ, d'un caractère ou d'une position d'octet spécifié et dirige le résultat vers la sortie standard.

L'utilitaire utilise la syntaxe suivante :

Couper  déposer

Utilisez le -b option pour couper une section ou un contenu en utilisant un octet spécifié ou une plage d'octets :

coupe -b 1 coupe_exemples.txt

Utilisez le -c flag pour extraire du texte en spécifiant les positions des caractères :

coupe -c 1,3,5 coupe_exemples.txt

Enfin, vous pouvez également extraire du texte en spécifiant des champs avec le -F options et -ré pour le délimiteur d'espace ou de champ :

cut -d " " -f 1 cut_examples.txt

Voici la liste des gammes avec des exemples et des descriptions que vous pouvez utiliser avec le personnage -c et octet -b choix :

Varier Exemple La description
n- couper -c 7- nom de fichier Extraire le caractère du nième entier jusqu'à la fin de la ligne
nm cut -b 7-15 nom de fichier Extrait de l'entier n-m de chaque ligne du fichier d'entrée
-m couper -c -7 nom de fichier Extrait les lignes à partir de m jusqu'à la fin de la ligne

Notez que vous ne pouvez pas définir les plages d'extraction de texte à l'aide du champ -F option.

Manipulation de texte avec des commandes Linux

Linux propose de nombreux programmes et outils pour gérer et travailler avec des fichiers ou du texte. Les apprendre tous n'est peut-être pas nécessaire car vous pouvez facilement combler le vide avec un autre une fois que vous en maîtrisez un, comme utiliser sed comme grep ou awk comme grep, mais cela ne peut pas être vrai pour tous les outils.

En outre, les commandes Linux ont une courbe d'apprentissage abrupte, mais une fois que vous avez développé les compétences, elles peuvent s'avérer très utiles et efficaces dans la vie de tout utilisateur Linux, en particulier un administrateur système.

8 meilleures applications de terminal pour une productivité Linux améliorée

Fatigué de l'ancienne et ennuyeuse application de terminal qui est préinstallée sur Linux? Découvrez ces huit applications de terminal qui amélioreront votre flux de travail.

Lire la suite

PartagerTweeterE-mail
Rubriques connexes
  • Linux
  • Commandes Linux
A propos de l'auteur
Rumaisa Niazi (7 articles publiés)

Rumaisa est rédactrice indépendante au MUO. Elle a porté plusieurs casquettes, de mathématicienne à passionnée de sécurité de l'information, et travaille maintenant en tant qu'analyste SOC. Ses intérêts incluent la lecture et l'écriture sur les nouvelles technologies, les distributions Linux et tout ce qui concerne la sécurité de l'information.

Plus de Rumaisa Niazi

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner