


Explication détaillée de l'exemple de partage de code pour la commande sed sous Linux
Introduction
sed est un éditeur en ligne qui traite le contenu une ligne à la fois. Pendant le traitement, la ligne en cours de traitement est stockée dans un tampon temporaire, appelé « espace de modèle », puis la commande sed est utilisée pour traiter le contenu du tampon. Une fois le traitement terminé, le contenu du tampon est envoyé au tampon. écran. Traitez ensuite la ligne suivante et répétez jusqu'à la fin du fichier. Le contenu du fichier n'est pas modifié sauf si vous utilisez la redirection pour stocker la sortie. 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.
sed utilise des paramètres
[root@www ~]# sed [-nefr] [动作]
Options et paramètres :
-n : Utiliser le mode silencieux. Lors d'une utilisation normale de sed, toutes les données provenant de STDIN sont généralement répertoriées dans le terminal. Mais si le paramètre -n est ajouté, seule la ligne (ou action) spécialement traitée par sed sera répertoriée.
-e : Modifiez les actions sed directement en mode ligne de commande ;
-f : Écrivez directement les actions sed dans un fichier, -f fichier nom, vous pouvez exécuter le action sed dans le nom de fichier ;
-r : l'action sed prend en charge la syntaxe de notation régulière étendue. (La valeur par défaut est la syntaxe de notation régulière de base)
-i : modifiez directement le contenu du fichier lu au lieu de le sortir sur le terminal.
Description de l'action : [n1[,n2]]fonction
n1, n2 : peut ne pas exister, représente généralement "sélectionner le nombre de lignes pour l'action", par exemple, si mon L'action doit être effectué entre 10 et 20 lignes, puis 『10,20[actioncomportement]』
fonction :
a :nouveau , a peut être suivi de chaînes, et ces chaînes apparaîtront sur une nouvelle ligne (la ligne suivante actuelle)~
c : à la place, c peut être suivi de 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 d'aucun dong dong
i : Insérer, je peux être suivi d'une chaîne, et Ces chaînes apparaîtront sur une nouvelle ligne (la ligne précédente actuelle
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 tout !
Ajouter/supprimer des unités de ligne
Listez le contenu de /etc/passwd et imprimez le numéro de ligne En même temps, veuillez supprimer les lignes 2 à 5 !
[root@www ~]# nl /etc/passwd | sed '2,5d' 1 root:x:0:0:root:/root:/bin/bash 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown .....(后面省略).....
L'action de sed est '2,5d', c'est à dire la suppression ! Parce qu'il a supprimé les lignes 2 à 5, les données affichées n'incluent pas les lignes 2 à 5 ~ De plus, veuillez noter qu'à l'origine vous auriez dû émettre sed -e, mais cela fonctionnera sans -e ! Dans le même temps, il convient également de noter que les actions qui suivent sed doivent être entourées de deux guillemets simples '' !
Supprimez simplement la 2ème ligne
nl /etc/passwd | sed '2d'
Pour supprimer la 3ème jusqu'à la dernière ligne
nl /etc/passwd | sed '3,$d'
Après la deuxième ligne (c'est-à-dire, ajoutez-la à la troisième line ) plus les mots « nouvelle ligne de texte ? » !
[root@www ~]# nl /etc/passwd | sed '2a new line text' 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin:/sbin/nologin new line text 3 daemon:x:2:2:daemon:/sbin:/sbin/nologin .....(后面省略).....
Ensuite, si vous souhaitez remplacer et afficher en unités de ligne avant la deuxième ligne
nl /etc/passwd | sed '2i new line text'
remplacez le contenu des lignes 2 à 5 par Et qu'en est-il "Pas de numéro 2-5" ?
[root@www ~]# nl /etc/passwd | sed '2,5c No 2-5 number' 1 root:x:0:0:root:/root:/bin/bash No 2-5 number 6 sync:x:5:0:sync:/sbin:/bin/sync .....(后面省略).....
Grâce à cette méthode, nous pouvons remplacer toute la ligne de données !
Ne listez que les lignes 5 à 7 dans le fichier /etc/passwd
[root@www ~]# nl /etc/passwd | sed -n '5,7p' 5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
Vous pouvez utiliser la fonction d'affichage ligne par ligne de sed pour lister le contenu d'un certain fichier. Certain les numéros de ligne sont sélectionnés pour l’affichage.
Rechercher et afficher les données
Rechercher /etc/passwd les lignes avec le mot-clé racine
nl /etc/passwd | sed '/root/p' 1 root:x:0:0:root:/root:/bin/bash 1 root:x:0:0:root:/root:/bin/bash 2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh 3 bin:x:2:2:bin:/bin:/bin/sh 4 sys:x:3:3:sys:/dev:/bin/sh 5 sync:x:4:65534:sync:/bin:/bin/sync ....下面忽略
Si la racine est trouvée, sauf afficher toutes les lignes , les lignes correspondantes seront également affichées.
Lors de l'utilisation de -n, seules les lignes contenant le modèle seront imprimées.
nl /etc/passwd | sed -n '/root/p' 1 root:x:0:0:root:/root:/bin/bash
Rechercher et supprimer des données
Supprimer toutes les lignes contenant la racine dans /etc/passwd et afficher les autres lignes
nl /etc/passwd | sed '/root/d' 2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh 3 bin:x:2:2:bin:/bin:/bin/sh ....下面忽略 #第一行的匹配root已经删除了
Rechercher et exécuter des commandes pour les données
Après avoir trouvé la ligne correspondant au motif oriental,
recherchez /etc/passwd, trouvez la ligne correspondant à root et exécutez un ensemble de commandes entre accolades, chaque commande séparée par un point-virgule, remplacez bash par blueshell ici, puis affichez cette ligne :
nl /etc/passwd | sed -n '/root/{s/bash/blueshell/;p}' 1 root:x:0:0:root:/root:/bin/blueshell
Si vous remplacez uniquement le premier mot-clé bash de /etc/passwd par blueshell, exit
nl /etc/passwd | sed -n '/bash/{s/bash/blueshell/;p;q}' 1 root:x:0:0:root:/root:/bin/blueshell
Le dernier q est de sortir.
Rechercher et remplacer des données
En plus du mode de traitement de ligne complet, sed peut également rechercher et remplacer des données partielles à l'aide d'unités de ligne. Fondamentalement, les recherches et substitutions de sed sont assez similaires à celles de vi ! Cela ressemble un peu à ceci :
sed 's/string to be replace/new string/g'
Observez d'abord les informations d'origine et utilisez /sbin/if config Requête 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 .....(以下省略).....
本机的ip是192.168.1.100。
将 IP 前面的部分予以删除
[root@www ~]# /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
接下来则是删除后续的部分,亦即: 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
将 IP 后面的部分予以删除
[root@www ~]# /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast.*$//g' 192.168.1.100
多点编辑
一条sed命令,删除/etc/passwd第三行到末尾的数据,并把bash替换为blueshell
nl /etc/passwd | sed -e '3,$d' -e 's/bash/blueshell/'
1 root:x:0:0:root:/root:/bin/blueshell
2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
-e表示多点编辑,第一个编辑命令删除/etc/passwd第三行到末尾的数据,第二条命令搜索bash替换为blueshell。
直接修改文件内容(危险动作)
sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向! 不过,由於这个动作会直接修改到原始的文件,所以请你千万不要随便拿系统配置来测试! 我们还是使用下载的 regular_express.txt 文件来测试看看吧!
利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !
[root@www ~]# sed -i 's/\.$/\!/g' regular_express.txt
利用 sed 直接在 regular_express.txt 最后一行加入『# This is a test』
[root@www ~]# sed -i '$a # This is a test' regular_express.txt
由于 $ 代表的是最后一行,而 a 的动作是新增,因此该文件最后新增『# This is a test』!
sed 的『 -i 』选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?就利用 sed 啊!透过 sed 直接修改/取代的功能,你甚至不需要使用 vim 去修订!
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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)

É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.

Centos sera fermé en 2024 parce que sa distribution en amont, Rhel 8, a été fermée. Cette fermeture affectera le système CentOS 8, l'empêchant de continuer à recevoir des mises à jour. Les utilisateurs doivent planifier la migration et les options recommandées incluent CentOS Stream, Almalinux et Rocky Linux pour garder le système en sécurité et stable.

La politique de sauvegarde et de récupération de GitLab dans le système CentOS afin d'assurer la sécurité et la récupérabilité des données, Gitlab on CentOS fournit une variété de méthodes de sauvegarde. Cet article introduira plusieurs méthodes de sauvegarde courantes, paramètres de configuration et processus de récupération en détail pour vous aider à établir une stratégie complète de sauvegarde et de récupération de GitLab. 1. MANUEL BACKUP Utilisez le Gitlab-RakegitLab: Backup: Créer la commande pour exécuter la sauvegarde manuelle. Cette commande sauvegarde des informations clés telles que le référentiel Gitlab, la base de données, les utilisateurs, les groupes d'utilisateurs, les clés et les autorisations. Le fichier de sauvegarde par défaut est stocké dans le répertoire / var / opt / gitlab / backups. Vous pouvez modifier / etc / gitlab

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.

Le support de disque dur CentOS est divisé en étapes suivantes: Déterminez le nom du périphérique du disque dur (/ dev / sdx); créer un point de montage (il est recommandé d'utiliser / mnt / newdisk); Exécutez la commande Mount (mont / dev / sdx1 / mnt / newdisk); modifier le fichier / etc / fstab pour ajouter une configuration de montage permanent; Utilisez la commande umount pour désinstaller l'appareil pour vous assurer qu'aucun processus n'utilise l'appareil.

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).

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.
