(cvs.info.gz) Line formats
Info Catalog
(cvs.info.gz) Line group formats
(cvs.info.gz) diff options
A.11.1.2 Line formats
.....................
Line formats control how each line taken from an input file is output
as part of a line group in if-then-else format.
For example, the following command outputs text with a one-column
change indicator to the left of the text. The first column of output
is `-' for deleted lines, `|' for added lines, and a space for
unchanged lines. The formats contain newline characters where newlines
are desired on output.
cvs diff \
--old-line-format='-%l
' \
--new-line-format='|%l
' \
--unchanged-line-format=' %l
' \
myfile
To specify a line format, use one of the following options. You
should quote FORMAT, since it often contains shell metacharacters.
`--old-line-format=FORMAT'
formats lines just from the first file.
`--new-line-format=FORMAT'
formats lines just from the second file.
`--unchanged-line-format=FORMAT'
formats lines common to both files.
`--line-format=FORMAT'
formats all lines; in effect, it sets all three above options
simultaneously.
In a line format, ordinary characters represent themselves;
conversion specifications start with `%' and have one of the following
forms.
`%l'
stands for the contents of the line, not counting its trailing
newline (if any). This format ignores whether the line is
incomplete.
`%L'
stands for the contents of the line, including its trailing newline
(if any). If a line is incomplete, this format preserves its
incompleteness.
`%%'
stands for `%'.
`%c'C''
where C is a single character, stands for C. C may not be a
backslash or an apostrophe. For example, `%c':'' stands for a
colon.
`%c'\O''
where O is a string of 1, 2, or 3 octal digits, stands for the
character with octal code O. For example, `%c'\0'' stands for a
null character.
`Fn'
where F is a `printf' conversion specification, stands for the
line number formatted with F. For example, `%.5dn' prints the
line number using the `printf' format `"%.5d"'. Line group
formats, for more about printf conversion specifications.
The default line format is `%l' followed by a newline character.
If the input contains tab characters and it is important that they
line up on output, you should ensure that `%l' or `%L' in a line format
is just after a tab stop (e.g. by preceding `%l' or `%L' with a tab
character), or you should use the `-t' or `--expand-tabs' option.
Taken together, the line and line group formats let you specify many
different formats. For example, the following command uses a format
similar to `diff''s normal format. You can tailor this command to get
fine control over `diff''s output.
cvs diff \
--old-line-format='< %l
' \
--new-line-format='> %l
' \
--old-group-format='%df%(f=l?:,%dl)d%dE
%<' \
--new-group-format='%dea%dF%(F=L?:,%dL)
%>' \
--changed-group-format='%df%(f=l?:,%dl)c%dF%(F=L?:,%dL)
%<---
%>' \
--unchanged-group-format='' \
myfile
Info Catalog
(cvs.info.gz) Line group formats
(cvs.info.gz) diff options
automatically generated byinfo2html