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.
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 |
Compter le nombre de lignes dans lesquelles la chaîne existe |
-je | grep -i |
Effectuer une recherche insensible à la casse pour la chaîne spécifiée |
-o | grep-o |
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 |
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.
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
- Linux
- Commandes Linux
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.
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