Maison Tutoriel système Linux Introduction : Apprenez à utiliser sed dans les bases de LFCS

Introduction : Apprenez à utiliser sed dans les bases de LFCS

Jan 09, 2024 am 08:50 AM
linux linux教程 红帽 linux系统 linux命令 certification Linux chapeau rouge Linux vidéo Linux

Présentation Une autre commande utile pour les administrateurs système certifiés par la Linux Foundation (LFCS) est « sed », qui signifiait à l'origine « Streaming Editor ».

La commande "sed" est un éditeur qui peut éditer des fichiers sous forme de flux. La façon de diffuser un fichier consiste à le rediriger (> ou |) à partir d'une autre commande, ou à le charger directement dans "sed".

Cette commande fonctionne de la même manière que les autres éditeurs, sauf que les fichiers ne sont pas affichés et que l'édition visuelle n'est pas autorisée. Les commandes sont transmises à "sed" pour manipuler le flux.

Il y a cinq choses de base que vous pouvez faire avec « sed ». Bien sûr, « sed » est très puissant et possède d’autres fonctionnalités avancées, mais vous n’avez besoin de vous concentrer que sur cinq éléments de base. Les cinq types de fonctions sont les suivants :
Rechercher
Remplacer
Supprimer
Ajouter
changer/transformer
Avant de plonger dans les paramètres de commande, nous devons examiner la syntaxe de base.

Grammaire

La syntaxe de la commande "sed" est :

sed [选项] 命令 [要编辑的文件]
Copier après la connexion

Cet article couvrira ces « options » dans les sections appropriées. Une « commande » peut être un modèle de recherche et de remplacement d’expression régulière. Lisez la suite pour savoir comment fonctionne « sed » et apprendre les commandes de base. Comme je l'ai mentionné précédemment, « sed » est un outil très puissant avec de nombreuses autres options disponibles que je couvrirai dans cet article.

Exemples de fichiers

Si vous ouvrez un terminal, vous pouvez créer un fichier pour l'exemple "sed". Exécutez la commande suivante :

cd ~
grep --help >grephelp.txt
Copier après la connexion

Vous devriez maintenant avoir un fichier nommé grephelp.txt dans votre dossier HOME. Le contenu de ce fichier constitue des instructions d'aide pour la commande grep.

Recherche

La recherche d'une chaîne spécifique est une fonctionnalité courante des éditeurs, et effectuer une recherche dans "sed" ne fait pas exception.

Effectuez une recherche pour trouver des chaînes dans les fichiers. Jetons un coup d'œil à une recherche de base.

Si nous voulions rechercher le mot PATTERN dans le fichier exemple, nous utiliserions la commande suivante :

sed -n 's/PATTERN/PATTERN/p' grephelp.txt
Copier après la connexion

Remarque : si vous coupez et collez la commande, assurez-vous de remplacer les guillemets simples par les guillemets simples standard sur votre clavier.

Le paramètre -n est utilisé pour supprimer l'impression automatique de chaque ligne (sauf la ligne spécifiée avec la commande p). Par défaut, chaque ligne introduite dans "sed" sera imprimée sur la sortie standard (stdout). Si vous exécutez la commande ci-dessus sans l'option "-n", vous verrez chaque ligne du fichier d'origine ainsi que les lignes correspondantes.

Le nom du fichier à rechercher est "grephelp.txt" que nous avons créé dans la section "Exemples de fichiers".

La partie restante est 's/PATTERN/PATTERN/p' . Cette section est essentiellement divisée en quatre parties. La première partie de s spécifie d'effectuer un remplacement, ou une recherche et un remplacement.

Les deuxième et troisième parties restantes sont des modèles. Le premier est le modèle à rechercher et le dernier est le modèle qui correspond à la chaîne dans le flux de remplacement. Dans cet exemple, nous trouvons la chaîne PATTERN et la remplaçons par PATTERN. En recherchant et en remplaçant la même chaîne, nous ne modifions pas du tout le fichier, pas même à l'écran.

La dernière commande est p. Il précise qu'une nouvelle ligne est imprimée après remplacement. Bien entendu, puisque la même chaîne est remplacée, rien ne change. Puisque nous avons supprimé l'impression des lignes à l'aide du paramètre -n, les lignes modifiées seront imprimées à l'aide de la commande p.

Cette commande complète nous permet d'effectuer une recherche et d'afficher les résultats correspondants.

Remplacement

Lors de la recherche d'une chaîne spécifique, vous souhaiterez peut-être remplacer la nouvelle chaîne par la chaîne correspondante. Remplacer une chaîne par une autre est une opération très courante.

Nous pouvons effectuer la même recherche en utilisant la commande suivante :

sed -n 's/PATTERN/Pattern/p' grephelp.txt
Copier après la connexion

À ce moment, la chaîne "PATTERN" se transforme en "Pattern" et s'affiche. Si vous affichez le fichier à l'aide de la commande cat grephelp.txt, vous verrez que le fichier n'a pas changé. Cette modification s'applique uniquement à la sortie à l'écran. Vous pouvez rediriger la sortie vers un autre fichier en utilisant :

sed 's/PATTERN/Pattern/' grephelp.txt > grephelp1.txt
Copier après la connexion

Un nouveau fichier nommé grephelp1.txt existera désormais avec le fichier modifié enregistré. Si p est laissé comme quatrième option, le problème est que chaque ligne de la chaîne remplacée sera répétée deux fois dans le fichier. Nous pouvons également supprimer le paramètre "-n" pour permettre l'impression de toutes les lignes.

Une autre façon de remplacer des chaînes par la même chaîne consiste à utiliser le symbole & pour représenter la chaîne de recherche. Par exemple, la commande s/PATTERN/&/p a le même effet. On peut ajouter une chaîne, par exemple pour ajouter S, on peut utiliser la commande s/PATTERN/&S/p.

Et si nous voulons remplacer seulement un certain motif dans chaque ligne ? Vous pouvez spécifier des occurrences spécifiques de correspondances à remplacer. Bien entendu, le remplacement de chaque ligne correspond à un numéro spécifique. Par exemple, le fichier d’exemple contient de nombreux tirets. Certaines lignes comportent au moins deux tirets, nous pouvons donc remplacer le deuxième tiret de chaque ligne par un autre caractère. La commande pour remplacer le deuxième tiret - par un astérisque * sur chaque ligne serait :

sed 's/-/*/2' grephelp.txt
Copier après la connexion

Ici, nous utilisons les originaux pour effectuer le remplacement. Caractères - sont remplacés par *. 2 signifie que nous voulons remplacer le second - sur chaque ligne si elle existe. Si nous omettons la commande 2, la première occurrence du tiret est remplacée. Seul le premier tiret est remplacé au lieu des tirets de chaque ligne.

Si vous souhaitez rechercher et remplacer tous les tirets d'une ligne par un astérisque, utilisez la commande g :

sed 's/-/*/g' grephelp.txt
Copier après la connexion

Les commandes peuvent également être combinées. Supposons que vous vouliez remplacer les tirets qui apparaissent à partir de la deuxième fois, la commande serait :

sed 's/-/*/2g' grephelp.txt
Copier après la connexion

现在从第二个开始出现的破折号将被星号取代。

删除

搜索过程中有很多时候你可能想要完全删除搜索字符串。

例如,如果要从文件中删除所有破折号,你可以使用以下命令:

sed 's/-//g' grephelp.txt
Copier après la connexion

替换字符串为空白,因此匹配的字符串将被删除。

添加

当找到匹配时,你可以添加一行特定的文本,来使这行在浏览或打印中突出。

如果要在匹配后插入新行,那么使用 a 命令,后面跟上新行的字符串。还包括要匹配的字符串。例如,我们可以找到一个 --,并在匹配的行之后添加一行。新行的字符串将是 double dash before this line。

sed '/--/ a "double dash before this line"' grephelp.txt
Copier après la connexion

如果要在包含匹配字符串的行之前加上这行,请使用 i 命令,如下所示:

sed '/--/ i "double dash after this line"' grephelp.txt
Copier après la connexion
改变/变换

如果需要改变/变换一行,则可以使用命令 c。

假设我们有个有一些私人信息的文档,我们需要更改包含特定字符串的行。c 命令将改变整行,而不仅仅是搜索字符串。

假设我们想要阻止示例文件中包含单词 PATTERN 的每一行。更改的行将显示为 This line is Top Secret。命令是:

sed '/PATTERN/ c This line is Top Secret' grephelp.txt
Copier après la connexion

可以进行更改特定字母的大小写的转换。例如,我们可以使用命令 y 将所有小写 a 更改为大写 A,如下所示:

sed 'y/a/A/' grephelp.txt
Copier après la connexion

可以指定多个字母,如 abdg,如下命令所示:

sed 'y/abdg/ABDG/' grephelp.txt
Copier après la connexion

确保第二组字母与第一组字母的顺序相同,否则会被替换和转换。例如,字符串 y/a/D/ 将用大写 D 替换所有小写的 a。

就地更改

如果你确实要更改所使用的文件,请使用 -i 选项。

例如,要将 PATTERN 改为 Pattern,并对文件进行更改,则命令为:

sed -i 's/PATTERN/Pattern/' grephelp.txt
Copier après la connexion

现在文件 grephelp.txt 将被更改。-i 选项可以与上述任何命令一起使用来更改原始文件的内容。

练习这些命令,并确保你理解它们。“sed” 命令非常强大。

(题图:Pixabay,CC0)

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Différence entre Centos et Ubuntu Différence entre Centos et Ubuntu Apr 14, 2025 pm 09:09 PM

Les principales différences entre Centos et Ubuntu sont: l'origine (Centos provient de Red Hat, pour les entreprises; Ubuntu provient de Debian, pour les particuliers), la gestion des packages (Centos utilise Yum, se concentrant sur la stabilité; Ubuntu utilise APT, pour une fréquence de mise à jour élevée), le cycle de support (CentOS fournit 10 ans de soutien, Ubuntu fournit un large soutien de LT tutoriels et documents), utilisations (Centos est biaisé vers les serveurs, Ubuntu convient aux serveurs et aux ordinateurs de bureau), d'autres différences incluent la simplicité de l'installation (Centos est mince)

Le choix de Centos après l'arrêt de l'entretien Le choix de Centos après l'arrêt de l'entretien Apr 14, 2025 pm 08:51 PM

CentOS a été interrompu, les alternatives comprennent: 1. Rocky Linux (meilleure compatibilité); 2. Almalinux (compatible avec CentOS); 3. Serveur Ubuntu (configuration requise); 4. Red Hat Enterprise Linux (version commerciale, licence payante); 5. Oracle Linux (compatible avec Centos et Rhel). Lors de la migration, les considérations sont: la compatibilité, la disponibilité, le soutien, le coût et le soutien communautaire.

Comment installer CentOS Comment installer CentOS Apr 14, 2025 pm 09:03 PM

Étapes d'installation de CentOS: Téléchargez l'image ISO et Burn Bootable Media; démarrer et sélectionner la source d'installation; sélectionnez la langue et la disposition du clavier; configurer le réseau; partitionner le disque dur; définir l'horloge système; créer l'utilisateur racine; sélectionnez le progiciel; démarrer l'installation; Redémarrez et démarrez à partir du disque dur une fois l'installation terminée.

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Explication détaillée du principe docker Explication détaillée du principe docker Apr 14, 2025 pm 11:57 PM

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

Quelle configuration de l'ordinateur est requise pour VScode Quelle configuration de l'ordinateur est requise pour VScode Apr 15, 2025 pm 09:48 PM

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

Comment afficher le processus Docker Comment afficher le processus Docker Apr 15, 2025 am 11:48 AM

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

Que faire si l'image Docker échoue Que faire si l'image Docker échoue Apr 15, 2025 am 11:21 AM

Dépannage des étapes pour la construction d'image Docker échouée: cochez la syntaxe Dockerfile et la version de dépendance. Vérifiez si le contexte de construction contient le code source et les dépendances requis. Affichez le journal de construction pour les détails d'erreur. Utilisez l'option - cibler pour créer une phase hiérarchique pour identifier les points de défaillance. Assurez-vous d'utiliser la dernière version de Docker Engine. Créez l'image avec --t [Image-Name]: Debug Mode pour déboguer le problème. Vérifiez l'espace disque et assurez-vous qu'il est suffisant. Désactivez SELINUX pour éviter les interférences avec le processus de construction. Demandez de l'aide aux plateformes communautaires, fournissez Dockerfiles et créez des descriptions de journaux pour des suggestions plus spécifiques.

See all articles