Comment utiliser des classes de caractères SED

Comment utiliser des classes de caractères SED
Stream Editor (SED) est connu comme un éditeur puissant en raison de son large éventail de fonctionnalités prises en charge comme la substitution, l'édition, la suppression et bien d'autres. Alors que Stream Editor a la longue liste de caractères qui fournissent une assistance pour gérer automatiquement les fichiers: ces caractères sont enfermés dans un ensemble de caractères similaires appelés classes de caractères; Ces classes contiennent les personnages des familles similaires.

Par exemple, les chiffres en utilisant SED sont accessibles via la classe [[: Digit:]] et les caractères alphanumériques sont stockés dans la classe nommée [[: alnum:]]. De même, tous les personnages appartiennent à une classe de caractères spécifique; Connaissant l'importance de ces classes, notre guide d'aujourd'hui est concentré pour fournir un aperçu approfondi des classes de personnages dans SED.

Alors, commençons ce tutoriel:

Classes de caractères dans SED

Cette section contient les classes de caractères utilisées dans SED pour gérer les fichiers texte:

Classe de caractères alphabétiques : Les caractères alphabétiques de SED sont accessibles via «Classe de caractères alphabétiques» Et on peut gérer les fichiers texte en appelant la classe Alphabet: le mot clé utilisé pour référer cette classe est écrit ci-dessous:

[[:alpha:]]

Par exemple, nous voulons supprimer toutes les lignes contenant des lettres alphabétiques de «test.SMS» Donc, pour cela, vous devez utiliser cette classe comme indiqué dans la commande ci-dessous.

Note: Utilisez soigneusement le mot-clé de la classe sinon la commande ne fonctionnera pas:

De plus, vous pouvez effectuer d'autres opérations comme la substitution, l'impression car nous avons effectué la suppression dans la commande ci-dessus.

Classe alphanumérique : Cette classe contient les caractères alphanumériques comme vous aurez également l'accès à toutes les lettres et aux numéros numériques.

[[: alnum:]]

L'exemple donné ci-dessous vous aidera à comprendre l'utilisation de base de cette classe dans Ubuntu: à partir du fichier "test.SMS», Nous avons affiché tous les mots contenant des caractères alphanumériques en suivant la commande écrite ci-dessous:

$ sed -n '/ [[: alnum:]] / p' test.SMS

Classe de caractères minuscules : Cette classe SED est utilisée pour gérer les lettres minuscules dans un fichier texte; Vous pouvez remplacer, supprimer, imprimer les lettres de cas inférieur en utilisant cette classe; Le mot-clé utilisé pour cette classe est illustré ci-dessous:

[[:inférieur:]]

Par exemple, si vous souhaitez imprimer des lignes contenant des lettres en minuscules, la commande écrite ci-dessous vous aidera à le faire:

$ sed -n '/ [[: inférieur:]] / p' test.SMS

Classe de caractères en haut : Cette classe de SED contient les lettres de cas supérieure; Le mot-clé utilisé pour aborder la classe de caractères supérieurs est écrit ci-dessous:

[[:supérieur:]]

Vous pouvez utiliser cette classe pour appliquer les modifications dirigées sur toutes les lettres de cas supérieur; Par exemple, la commande ci-dessous supprimera toutes les lignes contenant des lettres alphabétiques de capital.

$ sed '/ [[: Upper:]] / D' Test.SMS

Classe de personnage vide : Les Blanks créés par Space Bar ou la touche Tab réside dans cette classe; Et on peut remplacer, supprimer tous les blancs dans le fichier texte à l'aide de cette classe de caractères, le mot-clé utilisé pour aborder cette classe s'affiche ci-dessous:

[[:blanc:]]

Par exemple, nous voulons remplacer les lettres «Tout«Au lieu des espaces vierges dans le fichier texte; Ainsi, la commande mentionnée ci-dessous aidera à remplacer l'espace vide par «Tout»:

$ SED 'S / [[: Blank:]] / Yyy / g' New.SMS

Classe de personnages de l'espace : Cette classe a des fonctionnalités similaires en tant que classe vide, mais elle couvre quelques fonctionnalités supplémentaires qu'elle. Les fonctionnalités offertes par la classe de caractères de l'espace sont les espaces, les blancs et l'onglet vertical de support, Newline.

Le mot-clé utilisé pour aborder cette classe est illustré ci-dessous:

[[:espace:]]

La commande suivante supprimera toutes les lignes qui contiennent le caractère de la classe d'espace de «test.SMS»:

$ sed '/ [[: Space:]] / D' Test.SMS

Classe de personnage de chiffres : Cette classe de caractères est utilisée pour aborder et gérer les chiffres de l'utilitaire de ligne de commande SED; De plus, vous pouvez effectuer des modifications collectives liées aux chiffres de tout le fichier texte. Le mot-clé utilisé pour aborder cette classe est mentionné ci-dessous:

[[:chiffre:]]

Par exemple, la commande écrite ci-dessous imprimera toutes les lignes contenant des chiffres dans «test.SMS»:

$ sed -n '/ [[: chiffre:]] / p' test.SMS

Classe de personnage hexadécimal : Cette classe de SED contient les personnages hexadécimaux (0-9, A-F)); Le mot-clé utilisé pour référer ces caractères est mentionné ci-dessous:

[[: xdigit:]]

La commande mentionnée ci-dessous imprimera les lignes contenant des caractères hexadécimaux dans "test.SMS»:

$ sed -n '/ [[: xdigit:]] / p' test.SMS

Classe de caractère imprimé : Cette classe contient les caractères qui peuvent être imprimés à l'écran; Il comprend également les espaces: le mot-clé utilisé pour cette classe est:

[[:imprimer:]]

Par exemple, la commande écrite ci-dessous imprimera toutes les lignes qui contiennent même un seul caractère:

$ sed -n '/ [[: print:]] / p' nouveau.SMS

Classe de caractère de contrôle : Cette classe de caractère se compose de caractères non imprimables dans un fichier texte; Le mot-clé utilisé pour cette classe est écrit ci-dessous:

[[: cntrl:]]

La classe de caractères non imprimables comprend un espace vierge, des onglets, une pause de ligne, des pauses de page et.,

La commande écrite ci-dessous supprimera les lignes contenant des caractères de contrôle dans le fichier texte nommé "nouveau.SMS»:

$ sed -n '/ [[: cntrl:]] / d' new.SMS

Classe de caractères graphiques : Cette classe de caractères contient les caractères qui sont imprimables et fonctionnent comme [[: print:]]; Le mot-clé de classe graphique est écrit ici:

[[:graphique:]]

Note: Les caractères graphiques incluent tous ces caractères qui peuvent être modifiés, imprimés, de manière lisible par l'homme. Par exemple, les caractères des classes de alphabétique, numérique, hexadécimal et., Peut être appelé caractères graphiques.

Passons maintenant à l'exemple, la commande écrite ci-dessous supprimera toutes les lignes qui ont des caractères graphiques présents dans "nouveau fichier.SMS»:

$ sed '/ [[: graphique:]] / d' newfile.SMS

Conclusion

L'un des éditeurs bien connus d'Ubuntu connus sous le nom de SED fournit la facilité de gestion des fichiers texte et l'assistance de base à cet égard fournie par les caractères. De plus, il existe des classes de caractères qui contiennent des caractères similaires et sont largement utilisées dans SED. Dans ce guide détaillé, nous avons ciblé les classes de personnages utilisées dans SED et expliqué brièvement leur utilisation dans une ligne de commande. Ces classes peuvent être utilisées pour effectuer plusieurs opérations dans un fichier texte; Comme si vous souhaitez gérer les chiffres d'un fichier, vous devez utiliser la classe de chiffres et de même, toutes les autres classes sont appelées lorsque leur fonctionnalité respective est requise. De plus, nous avons décrit l'utilisation des classes de caractères en ce qui concerne les opérations fondamentales de la substitution, de la suppression et de l'impression.