ch34 12


Search and Replacement: One Match Among Many (Unix Power Tools, 3rd Edition) 34.12. Search and Replacement: One Match Among Many One of the more unusual options of sed's substitution command is the numeric flag that allows you to point to one particular match when there are many possible matches on a particular line. It is used where a pattern repeats itself on a line and the replacement must be made for only one of those occurrences by position. For instance, a line, perhaps containing tbl input, might contain multiple tab characters. Let's say that there are three tabs per line, and you'd like to replace the second tab with >. The following substitute command would do it: s/TAB/>/2 TAB represents an actual tab character, which is otherwise invisible on the screen. If the input is a one-line file such as the following: Column1TABColumn2TABColumn3TABColumn4 the output produced by running the script on this file will be: Column1TABColumn2>Column3TABColumn4 Note that without the numeric flag, the substitute command would replace only the first tab. (Therefore, 1 can be considered the default numeric flag.) The range of the allowed numeric value is from 1 to 512, though this may be implementation-dependent. -- DD 34.11. Referencing Portions of a Search String34.13. Transformations on Text Copyright © 2003 O'Reilly & Associates. All rights reserved.

Wyszukiwarka