17.8. Using Search Patterns and Global CommandsBesides using line numbers and address symbols (., $, %), ex (including the ex mode of vi, of course) can address lines (Section 20.3) using search patterns (Section 32.1). For example:
Note that patterns are delimited by a slash both before and after. If you make deletions by pattern with vi and ex, there is a difference in the way the two editors operate. Suppose you have in your file named practice the following lines: With a screen editor you can scroll the page, move the cursor, delete lines, insert characters and more, while seeing results of your edits as you make them.
17.8.1. Global SearchesIn vi you use a / (slash) to search for patterns of characters in your files. By contrast, ex has a global command, g, that lets you search for a pattern and display all lines containing the pattern when it finds them. The command :g! does the opposite of :g. Use :g! (or its synonym :v) to search for all lines that do not contain pattern. You can use the global command on all lines in the file, or you can use line addresses to limit a global search to specified lines or to a range of lines.
g can also be used for global replacements. For example, to search for all lines that begin with WARNING: and change the first word not on those lines to NOT: :g/^WARNING:/s/\<not\>/NOT/ -- LL, from Learning the vi Editor (O'Reilly, 1998) Copyright © 2003 O'Reilly & Associates. All rights reserved. |
|