Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.10.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 \
' \
' \
   --unchanged-line-format=' %l
' \

To specify a line format, use one of the following options. You should quote format, since it often contains shell metacharacters.


formats lines just from the first file.


formats lines just from the second file.


formats lines common to both files.


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.


stands for the contents of the line, not counting its trailing newline (if any). This format ignores whether the line is incomplete.


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 `%'.


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.


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.


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". See section 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
' \
%<' \
%>' \
%>' \
   --unchanged-group-format='' \

  Published under the terms of the GNU General Public License Design by Interspire