source: trunk/third/sed/doc/sed.texi @ 17271

Revision 17271, 25.5 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17270, which included commits to RCS files with non-trunk default branches.
Line 
1\input texinfo  @c -*-texinfo-*-
2@c %**start of header
3@setfilename sed.info
4@settitle sed, a stream editor
5@c %**end of header
6
7@c This file has the new style title page commands.
8@c Run `makeinfo' rather than `texinfo-format-buffer'.
9
10@c smallbook
11
12@c tex
13@c \overfullrule=0pt
14@c end tex
15
16@include version.texi
17
18@c Combine indices.
19@syncodeindex ky cp
20@syncodeindex pg cp
21@syncodeindex tp cp
22
23@defcodeindex op
24@syncodeindex op fn
25
26@ifinfo
27@direntry
28* sed: (sed).                   Stream EDitor.
29@end direntry
30This file documents @sc{sed}, a stream editor.
31
32
33Published by the Free Software Foundation,
3459 Temple Place - Suite 330
35Boston, MA 02111-1307, USA
36
37Copyright (C) 1998 Free Software Foundation, Inc.
38
39Permission is granted to make and distribute verbatim copies of
40this manual provided the copyright notice and this permission notice
41are preserved on all copies.
42
43@ignore
44Permission is granted to process this file through TeX and print the
45results, provided the printed document carries copying permission
46notice identical to this one except for the removal of this paragraph
47(this paragraph not being relevant to the printed manual).
48
49@end ignore
50Permission is granted to copy and distribute modified versions of this
51manual under the conditions for verbatim copying, provided that the entire
52resulting derived work is distributed under the terms of a permission
53notice identical to this one.
54
55Permission is granted to copy and distribute translations of this manual
56into another language, under the above conditions for modified versions,
57except that this permission notice may be stated in a translation approved
58by the Foundation.
59@end ifinfo
60
61@setchapternewpage off
62
63@titlepage
64@title sed, a stream editor
65@subtitle version @value{VERSION}, @value{UPDATED}
66@author by Ken Pizzini
67
68@page
69@vskip 0pt plus 1filll
70Copyright @copyright{} 1998 Free Software Foundation, Inc.
71
72@sp 2
73Published by the Free Software Foundation, @*
7459 Temple Place - Suite 330, @*
75Boston, MA 02111-1307, USA
76
77Permission is granted to make and distribute verbatim copies of
78this manual provided the copyright notice and this permission notice
79are preserved on all copies.
80
81Permission is granted to copy and distribute modified versions of this
82manual under the conditions for verbatim copying, provided that the entire
83resulting derived work is distributed under the terms of a permission
84notice identical to this one.
85
86Permission is granted to copy and distribute translations of this manual
87into another language, under the above conditions for modified versions,
88except that this permission notice may be stated in a translation approved
89by the Foundation.
90
91@end titlepage
92@page
93
94
95@node Top, Introduction, (dir), (dir)
96@comment  node-name,  next,  previous,  up
97
98@ifinfo
99This document was produced for version @value{VERSION} of @sc{GNU} @sc{sed}.
100@end ifinfo
101
102@menu
103* Introduction::                Introduction
104* Invoking SED::                Invocation
105* sed Programs::                @sc{sed} programs
106* Examples::                    Some sample scripts
107* Limitations::                 About the (non-)limitations on line length
108* Other Resources::             Other resources for learning about @sc{sed}
109* Reporting Bugs::              Reporting bugs
110* Concept Index::               A menu with all the topics in this manual.
111* Command and Option Index::    A menu with all @sc{sed} commands and
112                                 command-line options.
113@end menu
114
115
116@node Introduction, Invoking SED, Top, Top
117@chapter Introduction
118
119@cindex Stream editor
120@sc{sed} is a stream editor.
121A stream editor is used to perform basic text
122transformations on an input stream
123(a file or input from a pipeline).
124While in some ways similar to an editor which
125permits scripted edits (such as @sc{ed}),
126@sc{sed} works by making only one pass over the
127input(s), and is consequently more efficient.
128But it is @sc{sed}'s ability to filter text in a pipeline
129which particularly distinguishes it from other types of
130editors.
131
132
133@node Invoking SED, sed Programs, Introduction, Top
134@chapter Invocation
135
136@sc{sed} may be invoked with the following command-line options:
137
138@table @samp
139@item -V
140@itemx --version
141@opindex -V
142@opindex --version
143@cindex Version, printing
144Print out the version of @sc{sed} that is being run and a copyright notice,
145then exit.
146
147@item -h
148@itemx --help
149@opindex -h
150@opindex --help
151@cindex Usage summary, printing
152Print a usage message briefly summarizing these command-line options
153and the bug-reporting address,
154then exit.
155
156@item -n
157@itemx --quiet
158@itemx --silent
159@opindex -n
160@opindex --quiet
161@opindex --silent
162By default, @sc{sed} will print out the pattern space
163at then end of each cycle through the script.
164These options disable this automatic printing,
165and @sc{sed} will only produce output when explicitly told to
166via the @code{p} command.
167
168@item -e @var{script}
169@itemx --expression=@var{script}
170@opindex -e
171@opindex --expression
172@cindex Script, from command line
173Add the commands in @var{script} to the set of commands to be
174run while processing the input.
175
176@item -f @var{script-file}
177@itemx --file=@var{script-file}
178@opindex -f
179@opindex --file
180@cindex Script, from a file
181Add the commands contained in the file @var{script-file}
182to the set of commands to be run while processing the input.
183
184@end table
185
186If no @code{-e}, @code{-f}, @code{--expression}, or @code{--file}
187options are given on the command-line,
188then the first non-option argument on the command line is
189taken to be the @var{script} to be executed.
190
191@cindex Files to be processed as input
192If any command-line parameters remain after processing the above,
193these parameters are interpreted as the names of input files to
194be processed.
195@cindex Standard input, processing as input
196A file name of @code{-} refers to the standard input stream.
197The standard input will processed if no file names are specified.
198
199
200@node sed Programs, Examples, Invoking SED, Top
201@chapter @sc{sed} Programs
202
203@cindex @sc{sed} program structure
204@cindex Script structure
205A @sc{sed} program consists of one or more @sc{sed} commands,
206passed in by one or more of the
207@code{-e}, @code{-f}, @code{--expression}, and @code{--file}
208options, or the first non-option argument if zero of these
209options are used.
210This document will refer to ``the'' @sc{sed} script;
211this will be understood to mean the in-order catenation
212of all of the @var{script}s and @var{script-file}s passed in.
213
214Each @sc{sed} command consists of an optional address or
215address range, followed by a one-character command name
216and any additional command-specific code.
217
218@menu
219* Addresses::                Selecting lines with @sc{sed}
220* Regular Expressions::      Overview of regular expression syntax
221* Data Spaces::              Where @sc{sed} buffers data
222* Common Commands::          Often used commands
223* Other Commands::           Less frequently used commands
224* Programming Commands::     Commands for die-hard @sc{sed} programmers
225@end menu
226
227
228@node Addresses, Regular Expressions, sed Programs, sed Programs
229@section Selecting lines with @sc{sed}
230@cindex Addresses, in @sc{sed} scripts
231@cindex Line selection
232@cindex Selecting lines to process
233
234Addresses in a @sc{sed} script can be in any of the following forms:
235@table @samp
236@item @var{number}
237@cindex Address, numeric
238@cindex Line, selecting by number
239Specifying a line number will match only that line in the input.
240(Note that @sc{sed} counts lines continuously across all input files.)
241
242@item @var{first}~@var{step}
243@cindex @sc{GNU} extensions, @code{@var{n}~@var{m}} addresses
244This @sc{GNU} extension matches every @var{step}th line
245starting with line @var{first}.
246In particular, lines will be selected when there exists
247a non-negative @var{n} such that the current line-number equals
248@var{first} + (@var{n} * @var{step}).
249Thus, to select the odd-numbered lines,
250one would use @code{1~2};
251to pick every third line starting with the second, @code{2~3} would be used;
252to pick every fifth line starting with the tenth, use @code{10~5};
253and @code{50~0} is just an obscure way of saying @code{50}.
254
255@item $
256@cindex Address, last line
257@cindex Last line, selecting
258@cindex Line, selecting last
259This address matches the last line of the last file of input.
260
261@item /@var{regexp}/
262@cindex Address, as a regular expression
263@cindex Line, selecting by regular expression match
264This will select any line which matches the regular expression @var{regexp}.
265If @var{regexp} itself includes any @code{/} characters,
266each must be escaped by a backslash (@code{\}).
267
268@item \%@var{regexp}%
269(The @code{%} may be replaced by any other single character.)
270
271@cindex Slash character, in regular expressions
272This also matches the regular expression @var{regexp},
273but allows one to use a different delimiter than @code{/}.
274This is particularly useful if the @var{regexp} itself contains
275a lot of @code{/}s, since it avoids the tedious escaping of every @code{/}.
276If @var{regexp} itself includes any delimiter characters,
277each must be escaped by a backslash (@code{\}).
278
279@item /@var{regexp}/I
280@itemx \%@var{regexp}%I
281@cindex @sc{GNU} extensions, @code{I} modifier
282The @code{I} modifier to regular-expression matching is a @sc{GNU}
283extension which causes the @var{regexp} to be matched in
284a case-insensitive manner.
285
286@end table
287
288If no addresses are given, then all lines are matched;
289if one address is given, then only lines matching that
290address are matched.
291
292@cindex Range of lines
293@cindex Several lines, selecting
294An address range can be specified by specifying two addresses
295separated by a comma (@code{,}).
296An address range matches lines starting from where the first
297address matches, and continues until the second address matches
298(inclusively).
299If the second address is a @var{regexp}, then checking for the
300ending match will start with the line @emph{following} the
301line which matched the first address.
302If the second address is a @var{number} less than (or equal to)
303the line matching the first address,
304then only the one line is matched.
305
306@cindex Excluding lines
307@cindex Selecting non-matching lines
308Appending the @code{!} character to the end of an address
309specification will negate the sense of the match.
310That is, if the @code{!} character follows an address range,
311then only lines which do @emph{not} match the address range
312will be selected.
313This also works for singleton addresses,
314and, perhaps perversely, for the null address.
315
316
317@node Regular Expressions, Data Spaces, Addresses, sed Programs
318@section Overview of regular expression syntax
319
320@c XXX FIXME
321[[I may add a brief overview of regular expressions at a later date;
322for now see any of the various other documentations for regular
323expressions, such as the @sc{awk} info page.]]
324
325
326@node Data Spaces, Common Commands, Regular Expressions, sed Programs
327@section Where @sc{sed} buffers data
328
329@cindex Buffer spaces, pattern and hold
330@cindex Spaces, pattern and hold
331@cindex Pattern space, definition
332@cindex Hold space, definition
333@sc{sed} maintains two data buffers: the active @emph{pattern} space,
334and the auxiliary @emph{hold} space.
335In ``normal'' operation, @sc{sed} reads in one line from the
336input stream and places it in the pattern space.
337This pattern space is where text manipulations occur.
338The hold space is initially empty, but there are commands
339for moving data between the pattern and hold spaces.
340@c XXX FIXME: explain why this is useful/interesting to know.
341
342
343@node Common Commands, Other Commands, Data Spaces, sed Programs
344@section Often used commands
345
346If you use @sc{sed} at all, you will quite likely want to know
347these commands.
348
349@table @samp
350@item #
351[No addresses allowed.]
352
353@findex # (comment) command
354@cindex Comments, in scripts
355The @code{#} ``command'' begins a comment;
356the comment continues until the next newline.
357
358@cindex Portability, comments
359If you are concerned about portability, be aware that
360some implementations of @sc{sed} (which are not POSIX.2
361conformant) may only support a single one-line comment,
362and then only when the very first character of the script is a @code{#}.
363
364@findex -n, forcing from within a script
365@cindex Caveat --- #n on first line
366Warning: if the first two characters of the @sc{sed} script
367are @code{#n}, then the @code{-n} (no-autoprint) option is forced.
368If you want to put a comment in the first line of your script
369and that comment begins with the letter `n'
370and you do not want this behavior,
371then be sure to either use a capital `N',
372or place at least one space before the `n'.
373
374@item s/@var{regexp}/@var{replacement}/@var{flags}
375(The @code{/} characters may be uniformly replaced by
376any other single character within any given @code{s} command.)
377
378@findex s (substitute) command
379@cindex Substitution of text
380@cindex Replacing text matching regexp
381The @code{/} character (or whatever other character is used in its stead)
382can appear in the @var{regexp} or @var{replacement}
383only if it is preceded by a @code{\} character.
384Also newlines may appear in the @var{regexp} using the two
385character sequence @code{\n}.
386
387The @code{s} command attempts to match the pattern
388space against the supplied @var{regexp}.
389If the match is successful, then that portion of the pattern
390space which was matched is replaced with @var{replacement}.
391
392@cindex Backreferences, in regular expressions
393@cindex Parenthesized substrings
394The @var{replacement} can contain @code{\@var{n}} (@var{n} being
395a number from 1 to 9, inclusive) references, which refer to
396the portion of the match which is contained between the @var{n}th
397@code{\(} and its matching @code{\)}.
398Also, the @var{replacement} can contain unescaped @code{&}
399characters which will reference the whole matched portion
400of the pattern space.
401To include a literal @code{\}, @code{&}, or newline in the final
402replacement, be sure to precede the desired @code{\}, @code{&},
403or newline in the @var{replacement} with a @code{\}.
404
405@findex s command, option flags
406@cindex Substitution of text, options
407@cindex Replacing text matching regexp, options
408The @code{s} command can be followed with zero or more of the
409following @var{flags}:
410
411@table @samp
412@item g
413@cindex Global substitution
414@cindex Replacing all text matching regexp in a line
415Apply the replacement to @emph{all} matches to the @var{regexp},
416not just the first.
417@item p
418@cindex Printing text after substitution
419If the substitution was made, then print the new pattern space.
420@item @var{number}
421@cindex Replacing only @var{n}th match of regexp in a line
422Only replace the @var{number}th match of the @var{regexp}.
423@item w @var{file-name}
424@cindex Write result of a substitution to file
425If the substitution was made, then write out the result to the named file.
426@item I
427(This is a @sc{GNU} extension.)
428
429@cindex @sc{GNU} extensions, @code{I} modifier
430@cindex Case-insensitive matching
431Match @var{regexp} in a case-insensitive manner.
432@end table
433
434@item q
435[At most one address allowed.]
436
437@findex q (quit) command
438@cindex Quitting
439Exit @sc{sed} without processing any more commands or input.
440Note that the current pattern space is printed
441if auto-print is not disabled.
442
443@item d
444@findex d (delete) command
445@cindex Deleting lines
446Delete the pattern space;
447immediately start next cycle.
448
449@item p
450@findex p (print) command
451@cindex Print selected lines
452Print out the pattern space (to the standard output).
453This command is usually only used in conjunction with the @code{-n}
454command-line option.
455
456@cindex Caveat --- @code{p} command and -n flag
457Note: some implementations of @sc{sed}, such as this one, will
458double-print lines when auto-print is not disabled and the @code{p}
459command is given.
460Other implementations will only print the line once.
461Both ways conform with the POSIX.2 standard, and so neither
462way can be considered to be in error.
463@cindex Portability, @code{p} command and -n flag
464Portable @sc{sed} scripts should thus avoid relying on either behavior;
465either use the @code{-n} option and explicitly print what you want,
466or avoid use of the @code{p} command (and also the @code{p} flag to the
467@code{s} command).
468
469@item n
470@findex n (next-line) command
471@cindex Next input line, replace pattern space with
472@cindex Read next input line
473If auto-print is not disabled, print the pattern space,
474then, regardless, replace the pattern space with the next line of input.
475If there is no more input then @sc{sed} exits without processing
476any more commands.
477
478@item @{ @var{commands} @}
479@findex @{@} command grouping
480@cindex Grouping commands
481@cindex Command groups
482A group of commands may be enclosed between
483@code{@{} and @code{@}} characters.
484(The @code{@}} must appear in a zero-address command context.)
485This is particularly useful when you want a group of commands
486to be triggered by a single address (or address-range) match.
487
488@end table
489
490
491@node Other Commands, Programming Commands, Common Commands, sed Programs
492@section Less frequently used commands
493
494Though perhaps less frequently used than those in the previous
495section, some very small yet useful @sc{sed} scripts can be built with
496these commands.
497
498@table @samp
499@item y/@var{source-chars}/@var{dest-chars}/
500(The @code{/} characters may be uniformly replaced by
501any other single character within any given @code{y} command.)
502
503@findex y (transliterate) command
504@cindex Transliteration
505Transliterate any characters in the pattern space which match
506any of the @var{source-chars} with the corresponding character
507in @var{dest-chars}.
508
509Instances of the @code{/} (or whatever other character is used in its stead),
510@code{\}, or newlines can appear in the @var{source-chars} or @var{dest-chars}
511lists, provide that each instance is escaped by a @code{\}.
512The @var{source-chars} and @var{dest-chars} lists @emph{must}
513contain the same number of characters (after de-escaping).
514
515@c XXX was getting a bad page break; remove this @need if formatting changes
516@need 1000
517@item a\
518@itemx @var{text}
519[At most one address allowed.]
520
521@findex a (append text lines) command
522@cindex Adding a block of text after a line
523@cindex Text, appending
524Queue the lines of text which follow this command
525(each but the last ending with a @code{\},
526which will be removed from the output)
527to be output at the end of the current cycle,
528or when the next input line is read.
529
530@item i\
531@itemx @var{text}
532[At most one address allowed.]
533
534@findex i (insert text lines) command
535@cindex Inserting a block of text before a line
536@cindex Text, insertion
537Immediately output the lines of text which follow this command
538(each but the last ending with a @code{\},
539which will be removed from the output).
540
541@item c\
542@itemx @var{text}
543@findex c (change to text lines) command
544@cindex Replace specific input lines
545@cindex Selected lines, replacing
546Delete the lines matching the address or address-range,
547and output the lines of text which follow this command
548(each but the last ending with a @code{\},
549which will be removed from the output)
550in place of the last line
551(or in place of each line, if no addresses were specified).
552A new cycle is started after this command is done,
553since the pattern space will have been deleted.
554
555@item =
556[At most one address allowed.]
557
558@findex = (print line number) command
559@cindex Print line number
560@cindex Line number, print
561Print out the current input line number (with a trailing newline).
562
563@item l
564@findex l (list unambiguously) command
565@cindex List pattern space
566@cindex Print unambiguous representation of pattern space
567Print the pattern space in an unambiguous form:
568non-printable characters (and the @code{\} character)
569are printed in C-style escaped form;
570long lines are split, with a trailing @code{\} character
571to indicate the split; the end of each line is marked
572with a @code{$}.
573
574@item r @var{filename}
575[At most one address allowed.]
576
577@findex r (read file) command
578@cindex Read text from a file
579@cindex Insert text from a file
580Queue the contents of @var{filename} to be read and
581inserted into the output stream at the end of the current cycle,
582or when the next input line is read.
583Note that if @var{filename} cannot be read, it is treated as
584if it were an empty file, without any error indication.
585
586@item w @var{filename}
587@findex w (write file) command
588@cindex Write to a file
589Write the pattern space to @var{filename}.
590The @var{filename} will be created (or truncated) before the
591first input line is read; all @code{w} commands (including
592instances of @code{w} flag on successful @code{s} commands)
593which refer to the same @var{filename} are output through
594the same @sc{FILE} stream.
595
596@item D
597@findex D (delete first line) command
598@cindex Delete first line from pattern space
599Delete text in the pattern space up to the first newline.
600If any text is left, restart cycle with the resultant
601pattern space (without reading a new line of input),
602otherwise start a normal new cycle.
603
604@item N
605@findex N (append Next line) command
606@cindex Next input line, append to pattern space
607@cindex Append next input line to pattern space
608Add a newline to the pattern space,
609then append the next line of input to the pattern space.
610If there is no more input then @sc{sed} exits without processing
611any more commands.
612
613@item P
614@findex P (print first line) command
615@cindex Print first line from pattern space
616Print out the portion of the pattern space up to the first newline.
617
618@item h
619@findex h (hold) command
620@cindex Copy pattern space into hold space
621@cindex Replace hold space with copy of pattern space
622@cindex Hold space, copying pattern space into
623Replace the contents of the hold space with the contents of the pattern space.
624
625@item H
626@findex H (append Hold) command
627@cindex Append pattern space to hold space
628@cindex Hold space, appending from pattern space
629Append a newline to the contents of the hold space,
630and then append the contents of the pattern space to that of the hold space.
631
632@item g
633@findex g (get) command
634@cindex Copy hold space into pattern space
635@cindex Replace pattern space with copy of hold space
636@cindex Hold space, copy into pattern space
637Replace the contents of the pattern space with the contents of the hold space.
638
639@item G
640@findex G (appending Get) command
641@cindex Append hold space to pattern space
642@cindex Hold space, appending to pattern space
643Append a newline to the contents of the pattern space,
644and then append the contents of the hold space to that of the pattern space.
645
646@item x
647@findex x (eXchange) command
648@cindex Exchange hold space with pattern space
649@cindex Hold space, exchange with pattern space
650Exchange the contents of the hold and pattern spaces.
651
652@end table
653
654
655@node Programming Commands, , Other Commands, sed Programs
656@section Commands for die-hard @sc{sed} programmers
657
658In most cases, use of these commands indicates that you are
659probably better off programming in something like @sc{perl}.
660But occasionally one is committed to sticking with @sc{sed},
661and these commands can enable one to write quite convoluted
662scripts.
663
664@cindex Flow of control in scripts
665@table @samp
666@item : @var{label}
667[No addresses allowed.]
668
669@findex : (label) command
670@cindex Labels, in scripts
671Specify the location of @var{label} for the @code{b} and @code{t} commands.
672In all other respects, a no-op.
673
674@item b @var{label}
675@findex b (branch) command
676@cindex Branch to a label, unconditionally
677@cindex Goto, in scripts
678Unconditionally branch to @var{label}.
679The @var{label} may be omitted, in which case the next cycle is started.
680
681@item t @var{label}
682@findex t (conditional branch) command
683@cindex Branch to a label, if @code{s///} succeeded
684@cindex Conditional branch
685Branch to @var{label} only if there has been a successful @code{s}ubstitution
686since the last input line was read or @code{t} branch was taken.
687The @var{label} may be omitted, in which case the next cycle is started.
688
689@end table
690
691
692@node Examples, Limitations, sed Programs, Top
693@chapter Some sample scripts
694
695@c XXX FIXME
696[[Not this release, sorry.
697But check out the scripts in the testsuite directory,
698and the amazing dc.sed script in the
699top-level directory of this distribution.]]
700
701
702@node Limitations, Other Resources, Examples, Top
703@chapter About the (non-)limitations on line length
704
705@cindex @sc{GNU} extensions, unlimited line length
706@cindex Portability, line length limitations
707For those who want to write portable @sc{sed} scripts,
708be aware that some implementations have been known to
709limit line lengths (for the pattern and hold spaces)
710to be no more than 4000 bytes.
711The POSIX.2 standard specifies that conforming @sc{sed}
712implementations shall support at least 8192 byte line lengths.
713@sc{GNU} @sc{sed} has no built-in limit on line length;
714as long as @sc{sed} can malloc() more (virtual) memory,
715it will allow lines as long as you care to feed it
716(or construct within it).
717
718@node Other Resources, Reporting Bugs, Limitations, Top
719@chapter Other resources for learning about @sc{sed}
720
721@cindex Addtional reading about @sc{sed}
722In addition to several books that have been written about @sc{sed}
723(either specifically or as chapters in books which discuss
724shell programming), one can find out more about @sc{sed}
725(including suggestions of a few books) from the FAQ
726for the seders mailing list, available from any of:
727@display
728 @uref{http://www.dbnet.ece.ntua.gr/~george/sed/sedfaq.html}
729 @uref{http://www.ptug.org/sed/sedfaq.htm}
730 @uref{http://www.wollery.demon.co.uk/sedtut10.txt}
731@end display
732
733There is an informal ``seders'' mailing list manually maintained
734by Al Aab.  To subscribe, send e-mail to @email{af137@@torfree.net}
735with a brief description of your interest.
736
737@node Reporting Bugs, Concept Index, Other Resources, Top
738@chapter Reporting bugs
739
740@cindex Bugs, reporting
741Email bug reports to @email{bug-gnu-utils@@gnu.org}.
742Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
743
744@c XXX FIXME: the term "cycle" is never defined...
745
746@page
747@node Concept Index, Command and Option Index, Reporting Bugs, Top
748@unnumbered Concept Index
749
750This is a general index of all issues discussed in this manual, with the
751exception of the @sc{sed} commands and command-line options.
752
753@printindex cp
754
755@page
756@node Command and Option Index, , Concept Index, Top
757@unnumbered Command and Option Index
758
759This is an alphabetical list of all @sc{sed} commands and command-line
760opions.
761
762@printindex fn
763
764@contents
765@bye
Note: See TracBrowser for help on using the repository browser.