I have a file of the following form:
interesting text-MIB blah blah blah
VERY INTERESTING TEXT
interesting text-MIB blah blah blah
In each line containing the "-MIB" string, I would like to delete the text following this string, until the end of the line.
The following command seems to work as intended:
sed -i -n -e 's/-MIB.*$/-MIB/p' ./myfile
My problem is that it also deletes the lines where my pattern is not found. Here, the line "VERY INTERESTING TEXT" would be deleted. I am not really familiar with sed. What am i doing wrong? Is sed appropriate for this kind of treatment?
I have edited your sed
. Try this,
sed -i.bak 's/-MIB.*$/-MIB/g' ./myfile
Here,
-i - will do the changes in original file and takes the backup of original file in .bak extension