Maison  >  Article  >  Opération et maintenance  >  Comment remplacer la commande sed sous Linux

Comment remplacer la commande sed sous Linux

WBOY
WBOYoriginal
2022-02-25 16:24:2415346parcourir

Méthode : 1. Définissez le paramètre « c », c peut être suivi de chaînes, ces chaînes peuvent remplacer les lignes spécifiées, la syntaxe est « sed 'ligne numéro c contenu après remplacement » » 2. Définissez le paramètre « s » ; " , vous pouvez effectuer directement un travail de remplacement, la syntaxe est "sed 's/string à remplacer/nouvelle chaîne/g'".

Comment remplacer la commande sed sous Linux

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Comment remplacer la commande sed sous Linux

La commande Linux sed utilise des scripts pour traiter les fichiers texte.

sed peut traiter et éditer des fichiers texte selon les instructions du script.

Sed est principalement utilisé pour éditer automatiquement un ou plusieurs fichiers, simplifier les opérations répétées sur les fichiers, écrire des programmes de conversion, etc.

Syntaxe

sed [-hnV][-e<script>][-f<script文件>][文本文件]

Description du paramètre :

  • -e3f1c4e4b6b16bbbd69b2ee476dc4f83a ou --expression=3f1c4e4b6b16bbbd69b2ee476dc4f83a Traitez le fichier texte d'entrée avec le script spécifié dans l'option.

  • -f8d9e20cf7980a42776913d042440355f ou --file=8d9e20cf7980a42776913d042440355f Traitez le fichier texte d'entrée avec le fichier de script spécifié dans l'option.

  • -h ou --help affiche l'aide.

  • -n ou --quiet ou --silent n'affiche les résultats qu'après le traitement du script.

  • -V ou --version affiche les informations de version.

Description de l'action :

  • a : Ajouté, a peut être suivi de chaînes, et ces chaînes apparaîtront sur une nouvelle ligne (actuellement la ligne suivante) ~

  • c : Remplacer, c peut être suivi par des chaînes, et ces chaînes peuvent remplacer les lignes entre n1 et n2 !

  • d : Supprimer, car il s'agit d'une suppression, donc d n'est généralement suivi de rien ;

  • i : Insérer, i peut être suivi par des chaînes, et ces chaînes apparaîtront sur une nouvelle ligne (la précédente actuelle line);

  • p : Imprimer, c'est-à-dire imprimer une donnée sélectionnée. Habituellement, p sera exécuté avec le paramètre sed -n~

  • s : remplacement, vous pouvez directement effectuer le travail de remplacement ! Habituellement, cette action peut être associée à une notation régulière ! Par exemple, 1,20s/ancien/nouveau/g c'est ça !

L'exemple est le suivant :

Remplacer le contenu des lignes 2 à 5 par « No 2-5 number » ?

[root@www ~]# nl /etc/passwd | sed &#39;2,5c No 2-5 number&#39;
1 root:x:0:0:root:/root:/bin/bash
No 2-5 number
6 sync:x:5:0:sync:/sbin:/bin/sync
.....(后面省略).....

En plus du mode de traitement des lignes entières, sed peut également rechercher et remplacer des données partielles dans des unités comportementales. Fondamentalement, les recherches et substitutions de sed sont assez similaires à celles de vi ! Cela ressemble un peu à ceci :

sed &#39;s/要被取代的字串/新的字串/g&#39;

Observez d'abord les informations d'origine et utilisez /sbin/ifconfig pour interroger l'IP

[root@www ~]# /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:90:CC:A6:34:84
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::290:ccff:fea6:3484/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
.....(以下省略).....

L'IP de cette machine est 192.168.1.100.

Supprimez la partie devant l'IP

[root@www ~]# /sbin/ifconfig eth0 | grep &#39;inet addr&#39; | sed &#39;s/^.*addr://g&#39;
192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

L'étape suivante consiste à supprimer la partie suivante, c'est-à-dire : 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

Supprimez la partie après l'IP

[root@www ~]# /sbin/ifconfig eth0 | grep &#39;inet addr&#39; | sed &#39;s/^.*addr://g&#39; | sed &#39;s/Bcast.*$//g&#39;
192.168.1.100

Recommandé en rapport : "Tutoriel vidéo Linux"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn