In GNU ed, how do I move to a line without printing it? If I want to move to line 123, I would input 123 Enter, but that would also print the contents of the line. Is there a way to not print when moving to a line?
1 Answers
Most of the time, you either want to move to a line and print it (which is the default action if no other command is given), or move to a line and perform some other command. It's a bit unusual to want to move to a line without continuing with some command... There is no "no-op" command in standard ed.
GNU ed introduces a non-standard command called #, which does nothing.
This means you could use the command 1;# to move to the first line and then invoke the no-op command #. You can't use 1# as # does not take any address. An address that looks like n; (for some line number n) is interpreted as "first go to line n" so that 4;/foo/ would mean the first line after line 4 that contains foo. Compare that with 4,/foo/ which is a range of several lines from line 4 to the first line matching /foo/ relative to the current line.
Summary:
The command sequence 123;# moves to line 123 and then does nothing in GNU ed.
- 333,661