2 votes

Supprime la chaîne de caractères et le saut de ligne associé

J'essaie d'éditer un fichier sur un serveur distant via un terminal et pour effectuer une modification dans ce fichier, je dois utiliser (ou j'ai utilisé jusqu'à présent) la commande 'sed'.

dans le fichier ci-dessous, je veux supprimer la chaîne de caractères STUFF_456 et son nouveau caractère de ligne.

STUFF_123
STUFF_456
STUFF_789

Cependant, lorsque j'utilise cette commande dans sed Je me retrouve avec une ligne vide.

$ sed -i 's/STUFF_456//' /file/path/here.txt
STUFF_123

STUFF_789

Je dois me débarrasser de la ligne vide et conserver les deux autres entrées.

Comment puis-je y parvenir ?

3voto

dessert Points 36815

Vous pouvez supprimer la ligne avec :

sed '/^STUFF_456$/d'

Este d supprime toutes les lignes qui sont STUFF_456 , ^ marque le début de la ligne et $ marque la fin.

Avec votre exemple :

$ sed '/^STUFF_456$/d' /file/path/here.txt
STUFF_123
STUFF_789

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X