L'ensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

爱喝马黛茶的安东尼
Libérer: 2019-08-23 17:55:39
avant
2162 Les gens l'ont consulté

L'ensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

La commande sed est largement utilisée et facile à utiliser. C'est un outil puissant pour un traitement de texte rapide. En fait, il n’a pas beaucoup de compétences. La mémoriser et l’utiliser sont les canaux d’apprentissage les plus appropriés, et c’est une compétence difficile. Mais c'est compliqué car il y a tellement de fonctionnalités avancées. Cet article ne se concentre pas sur les fonctions avancées de sed, mais explique uniquement certaines opérations couramment utilisées.

Au fur et à mesure que vous l'utilisez, vous constaterez qu'il est cohérent avec certains concepts de vim. La syntaxe des expressions régulières est fondamentalement la même et il n'y a pas beaucoup de coûts d'apprentissage. Du point de vue de la vision personnelle et de l'efficacité du travail, la commande sed est un outil important que les programmeurs doivent maîtriser.

Ceux qui disent pouvoir utiliser Google sur place sont pour la plupart habitués à copier le texte dans Excel, à travailler lentement dessus, et ils sont encore plus confus lorsqu'ils rencontrent un grand nombre de fichiers. Cela ne veut pas dire qu’une famille n’entre pas dans l’autre. Cet article n’est pas écrit pour vous.

Une introduction simple

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Comme le montre la figure, une simple commande sed contient trois parties principales : paramètres, plage, fonctionnement . Le fichier à exploiter peut être directement accroché à la fin de la ligne de commande. En plus de la ligne de commande, sed peut également spécifier un script sed via le paramètre -f. Il s'agit d'une utilisation avancée qui ne sera pas trop décrite.

Recommandations associées : "Tutoriel Linux"

Je répéterai plusieurs exemples de commandes Si vous êtes intelligent, vous trouverez certainement les règles, et parfois vous ne le faites pas. Je n'ai même pas besoin d'expliquer.

Paramètre

-n Ce paramètre signifie --quiet ou --silent. Indique que la sortie du processus d'exécution est ignorée et que seuls nos résultats sont affichés.

Il existe un autre paramètre que nous utilisons couramment : -i.

Après avoir utilisé ce paramètre, toutes les modifications seront effectuées sur le fichier d'origine. Votre sortie écrasera le fichier d'origine. Très dangereux, alors soyez prudent.

Range

1,4 signifie trouver le contenu des lignes 1, 2, 3 et 4 dans le fichier.

La désignation de cette gamme est très astucieuse, veuillez consulter l'exemple suivant (veuillez remplacer la pièce de gamme dans l'image par vous-même).

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

La sélection de plage peut également utiliser une correspondance régulière. Voir l'exemple ci-dessous.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Par souci d'intuition, les commandes suivantes correspondent une à une à l'introduction ci-dessus. Il peut y avoir des espaces entre la portée et l'opération.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Opération

L'opération la plus couramment utilisée est p, qui signifie impression. Par exemple, les deux commandes suivantes sont équivalentes :

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

En plus de l'impression, il existe également les opérations suivantes, que nous utilisons couramment.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

A, i, c et autres opérations sont basiques mais rarement utilisées et ne seront pas présentées. Nous utilisons encore quelques commandes pour illustrer.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Jetons un coup d'œil à ce que la commande sed peut faire et cliquons sur la commande pour en faire l'expérience.

Supprimez toutes les lignes commençant par # et les lignes vides.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Ceux les plus couramment utilisés, comme celui ci-dessous.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

signifie imprimer la deuxième ligne du fichier de groupe.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Alors, que dois-je faire si je veux exécuter plusieurs commandes à la fois et que je ne veux pas écrire de fichier de script sed ? Ensuite, je dois ajouter le paramètre -e ? .

L'unité de fonctionnement de sed est une ligne.

Mode de remplacement

Ce qui précède est le mode de correspondance commun de la commande sed, mais il dispose également d'un mode de remplacement puissant, qui signifie rechercher et remplacer certaines valeurs ​dedans et les résultats de sortie. Le paramètre -n est rarement utilisé lors de l'utilisation du mode de remplacement.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Le mode de remplacement comporte de nombreux paramètres, mais les première et cinquième parties peuvent être omises. Après remplacement, l'intégralité du texte sera affichée.

La première moitié est utilisée pour faire correspondre certaines gammes, tandis que la seconde moitié effectue l'action de remplacement.

Portée

Cette portée est similaire à la syntaxe de portée ci-dessus. Voir l'exemple ci-dessous.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

La commande spécifique est :

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Commande

La commande ici fait référence à l'art. C'est ce que signifie remplacer.

Trouver la correspondance

La partie recherche trouvera la chaîne à remplacer. Cette partie peut accepter des chaînes pures ou des expressions régulières. Voir l'exemple ci-dessous.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

La commande est similaire :

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Remplacer

Il est temps trouver La chaîne sortante a été remplacée. Le contenu de cette section remplace le contenu trouvé dans la section Rechercher des correspondances.

Malheureusement, les expressions régulières ne peuvent pas être utilisées dans cette partie. Le remplacement exact est le plus couramment utilisé. Par exemple, remplacez a par b.

Mais il existe également des fonctionnalités avancées. Semblable à l'API standard de Java ou Python, le remplacement de sed a également la signification de Matched Pattern, et Group peut également être obtenu, sans entrer dans les détails. Les symboles de substitution couramment utilisés sont. Non, répétez-le encore. Lorsqu'il est utilisé dans une chaîne de remplacement, il représente les données de correspondance de recherche d'origine.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

La commande suivante entourera chaque ligne du fichier entre guillemets.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

paramètre flag

Ces paramètres peuvent être utilisés individuellement ou en multiples. Seuls les plus couramment utilisés sont introduits.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Regardez la syntaxe des deux commandes :

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

En raison de la régularité, de nombreux caractères doivent être échappés. Vous effectuerez beaucoup de \, * et d'autres traitements dans le script. Vous pouvez utiliser |^@! quatre caractères pour remplacer.

Par exemple, les cinq commandes suivantes sont identiques.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Remarque : Cette méthode ne peut pas être utilisée pour la première moitié de la gamme. J'ai l'habitude d'utiliser le symbole @.

Autres

Expressions régulières

Comme vous pouvez le constater, les expressions régulières sont partout dans la ligne de commande. Vous trouverez ci-dessous une brève explication.

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Paramètre i

Le paramètre i a été brièvement présenté ci-dessus. Sa fonction est de permettre l'exécution de l'opération sur le. fichier original. Quoi que vous fassiez, le fichier original sera écrasé. C'est très dangereux.

En ajoutant un paramètre, le fichier original peut être sauvegardé.

sed -i.bak 's/a/b/' file

La commande ci-dessus prendra effet sur le fichier d'origine et générera un fichier file.bak. Il est fortement recommandé d'utiliser le paramètre i pour spécifier également le fichier bak.

Utilisons deux commandes pour jeter un œil à la puissance de sed combinée avec d'autres commandes.

Sortez une ligne d'au moins 50 caractères

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Comptez combien de fois chaque mot apparaît dans le fichier

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Recherchez le fichier py dans le répertoire et supprimez tous les commentaires au niveau de la ligne

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Regardez les lignes 5-7 et 10-13

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production Linux

Afficher uniquement l'adresse IP

Lensemble de techniques « Sed » le plus couramment utilisé dans les environnements de production 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!

Étiquettes associées:
source:jianshu.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal