Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
Linux

Qu’est-ce que SED sous Linux et comment l’utilisez-vous ?

sed signifie strébucher editor et est une commande couramment utilisée sous Linux/Unix. Le nom vient d’un portemanteau de ces deux mots. Ce n’est pas un éditeur de texte, bien qu’il modifie le texte. Au lieu de cela, sed reçoit une entrée de texte en tant que « flux » et édite le flux selon vos instructions.

Dans l’ensemble, les gens utilisent sed comme version en ligne de commande de find and replace. La commande principale du programme est utilisée pour substituer une chaîne de caractères à une autre. Cela le rend utile pour exécuter des fonctions de recherche et de remplacement sur un lot de fichiers, mais il n’est pas aussi facile à utiliser que quelque chose de Bloc-notes ou de Word. Vous constaterez que la syntaxe prend un peu de temps pour s’y habituer, mais une fois que vous l’aurez compris, vous verrez à quel point cet éditeur compact peut être incroyablement puissant.

Contenu

Utiliser sed pour la substitution

Pour utiliser sed, vous devrez ouvrir une fenêtre de terminal. La commande est invoquée avec sed, mais la saisie seule ne fera rien. Vous devez fournir l’une des commandes, ainsi que certains paramètres.

Le paramètre le plus courant est le substitut, ou s. Une simple commande de substitution sed ressemble à ceci :

Cette commande ordonnera à sed d’analyser le texte entrant et de remplacer chaque instance de la chaîne « cat » par « chien ». Pour démontrer, nous utiliserons la commande echo pour donner à sed quelque chose avec lequel travailler.

Il y a trois parties principales dans la commande sed. Tout d’abord, il y a sed qui démarre le programme. Ensuite, il y a le s qui démarre la commande de substitution. La barre oblique / est un séparateur. La chaîne après cela sera la chaîne que sed recherche. La chaîne après la deuxième barre oblique sera les caractères de remplacement que sed écrit dans le flux. La dernière barre oblique ferme la commande. Tous ensemble, c’est ‘s/text-to-find/text-to-replace/’.

Notez les guillemets simples dans cet exemple. Les guillemets simples vous permettent d’utiliser des méta-caractères dans votre commande. Bien que les guillemets ne soient pas essentiels pour la plupart de nos exemples, vous devriez prendre l’habitude d’utiliser des guillemets pour toutes les commandes.

Qu’en est-il des chaînes partielles? La commande ci-dessus fonctionnera sur n’importe quelle apparence de la chaîne « chat », même si elle fait partie d’un autre mot. Par exemple, « catapulte » deviendra « dogapulte » comme « catamaran » deviendra « dogamaran ».

qu'est-ce-que-sed-guide-2

Remplacement global

Dans notre premier exemple, vous avez peut-être remarqué que seule la première instance de la chaîne correspondante a été remplacée. Comme de nombreux utilitaires GNU, sed est basé sur des lignes. Par conséquent, il ne fonctionne que sur la première correspondance d’une ligne. Si vous avez plusieurs correspondances pour votre chaîne candidate dans la ligne, seule la première sera modifiée. Pour que sed fonctionne sur chaque occurrence de la chaîne cible, utilisez l’indicateur g à la fin de la commande :

Psssssst :  Pouvez-vous envoyer des Emojis d'Android vers iPhone ?

Cela fonctionnerait comme dans l’exemple suivant :

qu'est-ce-que-sed-guide-3

Sans le drapeau global, seule la première instance de « cat » dans chaque ligne serait remplacée.

Paramétrage des fichiers d’entrée et de sortie

Par défaut, sed fonctionnera sur l’entrée standard. Cependant, ce n’est pas trop utile. Pour exécuter sed sur un fichier, spécifiez le nom du fichier à la fin de la commande, comme ceci :

qu'est-ce-que-sed-guide-4

Cela exécutera sed sur « oldfile.txt » et enregistrera la sortie de la commande dans « newfile.txt ». Si « newfile.txt » n’existe pas, il sera créé par la commande. Si vous ne spécifiez pas de fichier de sortie, sed fera écho au nouveau texte du fichier dans l’entrée standard.

Si vous souhaitez écraser le contenu d’un fichier, vous devrez utiliser l’indicateur -i. Ce drapeau rend les modifications « en place ».

Cette commande écrase immédiatement le contenu du fichier cible, ce qui est légèrement dangereux. Pour rester du bon côté, vous pouvez créer une sauvegarde in-situ.

Psssssst :  Comment démarrer le service démon sous Linux ?

Pour créer une sauvegarde du fichier, mettez une extension après le -i. Il n’est pas nécessaire que ce soit une extension fonctionnelle : « .bu » ou « .bak » fonctionnent très bien. Cela créera un fichier de sauvegarde avec une extension.

Cela crée « oldfile.txt.bak », qui contient les données de texte non modifiées de la version originale de « oldfile.txt ».

Correspondance d’expressions régulières

La vraie puissance de sed vient de la correspondance des expressions régulières. Cela vous permet de définir des modèles pour la correspondance, plutôt que des chaînes littérales. Par exemple, nous pourrions utiliser quelque chose comme la chaîne ci-dessous pour répéter n’importe quel ensemble d’un ou plusieurs nombres :

qu'est-ce-que-sed-guide-5

Apprentissage supplémentaire

sed est un utilitaire extrêmement puissant avec une puissance similaire à un langage de script. Pour en savoir plus sur les capacités complètes de sed, consultez le guide complet de Bruce Barnett sur sed.

Cet article est-il utile ? Oui Non

Bouton retour en haut de la page

Adblock détecté

Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci