Comment supprimer des caractères spéciaux en utilisant SED

Comment supprimer des caractères spéciaux en utilisant SED
La commande SED est un utilitaire Linux qui peut être utilisé pour effectuer beaucoup d'opérations qui comprennent des opérations d'insertion et de supprimer, trouver / rechercher et remplacer les opérations. La commande SED permet aux utilisateurs de Linux de modifier et d'appliquer plusieurs fonctions sur des fichiers sans les ouvrir directement. La commande SED prend en charge les fonctionnalités d'édition qui varient du niveau des débutants au niveau avancé: par exemple, à l'intérieur d'un fichier texte, ces opérations peuvent être effectuées sur plusieurs données: caractères, numériques, caractères spéciaux, alphanumérique et.,

Garder en vue l'importance de la commande SED; Notre guide d'aujourd'hui explorera plusieurs façons de supprimer des caractères spéciaux en utilisant la commande SED dans Ubuntu.

La commande Syntaxe of SED est écrite ci-dessous:

Syntaxe

SED [OPTIONS] Commande [Nom de fichier]

Les caractères spéciaux peuvent parfois être le besoin du contenu écrit dans un fichier texte, mais s'ils sont utilisés inutilement, ils rendront le fichier en désordre et il y a des chances que le lecteur ne prête pas attention, ce qui entraînera un document sans but.

Comment utiliser SED pour supprimer des caractères spéciaux dans Ubuntu

Cette section décrira brièvement les moyens de supprimer les caractères spéciaux d'un fichier texte à l'aide de SED; Cela dépend du nombre de caractères dans votre fichier que vous souhaitez supprimer; Il peut y avoir deux possibilités tout en supprimant les caractères d'un fichier, soit vous souhaitez supprimer un seul caractère spécial, soit vous souhaitez supprimer plusieurs caractères à la fois. D'après ces possibilités indiquées ci-dessus, nous avons étendu cette section à deux méthodes qui aborderont les deux possibilités:

Méthode 1: Comment supprimer un seul caractère en utilisant SED

Méthode 2: Comment supprimer plusieurs caractères à la fois en utilisant SED

La première méthode aborde la première possibilité, et la deuxième possibilité sera discutée dans la méthode 2, creuons-les un par un:

Méthode 1: Comment supprimer un seul caractère spécial en utilisant SED

Nous avons créé un fichier texte "ch.SMS«Cela contient peu de caractères spéciaux sur différentes lignes; Le contenu à l'intérieur du fichier s'affiche ci-dessous:

$ Cat ch.SMS

Vous pouvez remarquer que le contenu à l'intérieur "ch.SMS«Est difficile à lire; Par exemple, nous voulons supprimer le caractère «#» du fichier texte; Pour cela, nous devons utiliser la commande suivante pour supprimer «#» de l'ensemble du document:

$ sed 'S / \ # // g' ch.SMS

De plus, si vous souhaitez supprimer le caractère spécial de la ligne spécifique; Pour cela, vous devez insérer le numéro de ligne à côté du mot-clé «S» car la commande mentionnée ci-dessous supprimera «#» du numéro 3 de ligne uniquement:

$ sed '3s / \ # // g' ch.SMS

Méthode 2: Comment supprimer plusieurs caractères à la fois en utilisant SED

Maintenant, nous avons un autre fichier "déposer.SMS"Cela contient plus d'un type de caractère et nous voulons les retirer en un seul coup. Dans cette méthode, la syntaxe est un petit bit changée à partir de la commande ci-dessus; Par exemple, nous devons supprimer cinq caractères "# $% * @" depuis "déposer.SMS»

Tout d'abord, regardez le contenu de "déposer.SMS«Comme les mots sont interrompus par ces personnages;

$ CAT Fichier.SMS

La commande indiquée ci-dessous aidera à supprimer tous ces caractères spéciaux de "déposer.SMS»:

$ SED 'S / [# $% * @] // g' fichier.SMS

Ici, nous pouvons tirer un autre exemple, disons que nous voulons supprimer seulement quelques caractères de lignes spécifiques.

Nous avons créé un nouveau fichier et le contenu du «nouveau fichier.SMS"Est illustré ci-dessous:

$ Cat newfile.SMS

Pour cela, nous avons écrit la commande qui supprimera «# @" et "% *"Des lignes 2 et 3 de"nouveau fichier.SMS" respectivement.

$ sed '2s / [# @] // g; 3s / [% *] // g 'newfile.SMS

La commande SED utilisée dans les méthodes ci-dessus affichera le résultat uniquement sur le terminal plutôt que d'appliquer les modifications du fichier texte: pour cela, nous devons utiliser l'option «-i» de la commande SED. Il peut être utilisé avec n'importe quelle commande SED et les modifications seront apportées au fichier au lieu d'imprimer sur le terminal.

Conclusion

Apparemment, la commande SED agit comme un éditeur de texte habituel, mais il a une liste d'action beaucoup plus étendue par rapport aux autres éditeurs. Vous devez simplement écrire une commande et les modifications seront apportées automatiquement; Cette fonctionnalité attire les amateurs de Linux ou les utilisateurs qui préfèrent le terminal à l'interface graphique. Suivant les fonctionnalités avantageuses de SED; Notre guide est axé sur la suppression des caractères spéciaux du fichier texte. Si nous comparons uniquement cette fonctionnalité de la commande SED avec d'autres éditeurs, vous devez rechercher des caractères dans le fichier, puis les supprimer un par un est un processus fastidieux. D'un autre côté, SED effectue la même action en écrivant une seule commande de ligne sur le terminal.