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.