| Answers to Part 2 Exercises | |
| Solution to "EXPORT" Problem | |
| Typing: | |
| 1 ; ?EXPORT? delete | |
| will do it. By starting from the first line in the file and | |
| searching backwards, you guarantee the the first line to be | |
| searched will be the last line of the file (due to wraparound), | |
| then the second-to-last line, etcetera. As soon as the editor | |
| finds a match it stops, so there cannot be another "EXPORT" lower | |
| down in the file. | |
| Solution to First-Line Problem | |
| This requires two commands: | |
| /EXPORT/ delete | |
| The first command prints the last line in the file, which is not | |
| helpful in itself, but also leaves that last line as the current | |
| line. Then, the address of the second command causes a forward | |
| search and, due to wraparound, the search must begin with the | |
| file's first line. | |
| Solution to Noninclusive Problem | |
| Just add a plus sign after the address before the comma, and a | |
| minus sign to the address after it, like this: | |
| ?abc? + , /xyz/ - | |
| Each of these offsets moves one line toward the center of the text | |
| section the combined address specifies, so each has the effect of | |
| leaving out the line where the match was found. (That the first | |
| search was backward and the second forward is not relevant. The | |
| point is that the address before the comma, whatever it is, | |
| receives the plus offset, while the address after the comma gets | |
| the minus offset.) | |
| Back to Part 2 | |
| Back to the index |