strextract(1int)strextract(1int)Namestrextract - batch string extraction
Syntaxstrextract [ -p patternfile ] [ -i ignorefile ] [ -d ] [ source-pro‐
gram... ]
Description
The command extracts text strings from source programs. This command
also writes the string it extracts to a message text file. The message
text file contains the text for each message extracted from your input
source program. The command names the file by appending .msg to the
name of the input source program.
In the source-program argument, you name one or more source programs
from which you want messages extracted. The command does not extract
messages from source programs included using the directive. Therefore,
you might want a source program and all the source programs it includes
on a single command line.
You can create a patterns file (as specified by patternfile ) to con‐
trol how the command extracts text. The patterns file is divided into
several sections, each of which is identified by a keyword. The keyword
must start at the beginning of a new line, and its first character must
be a dollar sign ($). Following the identifier, you specify a number
of patterns. Each pattern begins on a new line and follows the regular
expression syntax you use in the routine. For more information on the
patterns file, see the (5int) reference page.
In addition to the patterns file, you can create a file that indicates
strings that ignores. Each line in this ignore file contains a single
string to be ignored that follows the syntax of the routine.
When you invoke the command, it reads the patterns file and the file
that contains strings it ignores. You can specify a patterns file and
an ignore file on the command line. Otherwise, the command matches all
strings and uses the default patterns file.
If finds strings which match the directive in the pattern file, it
reports the strings to standard error (stderr.) but does not write the
string to the message file.
After running you can edit the message text file to remove text strings
which do not need translating before running
It is recommended that you use command as a visual front end to the
command rather than running directly.
Options-i Ignore text strings specified in ignorefile. By default, the com‐
mand searches for ignorefile in the current working directory,
your home directory, and
If you omit the option, recognizes all strings specified in the
patterns file.
-p Use patternfile to match strings in the input source program. By
default, the command searches for the pattern file in the current
working directory, your home directory, and finally
If you omit the option, the command uses a default patterns file
that is stored in
-d Disables warnings of duplicate strings. If you omit the option,
prints warnings of duplicate strings in your source program.
Restrictions
Given the default pattern file, you cannot cause to ignore strings in
comments that are longer than one line.
You can specify only one rewrite string for all classes of pattern
matches.
The command does not extract strings from files include with directive.
You must run the commands on these files separately.
% strextract-p c_patterns prog.c prog2.c
% vi prog.msg
% strmerge -p c_patterns prog.c prog2.c
% gencat prog.cat prog.msf prog2.msf
% vi nl_prog.c
% vi nl_prog2.c
% cc nl_prog.c nl_prog2.c -li
In this example, the command uses the file to determine which strings
to match. The input source programs are named and
If you need to remove any of the messages or extract one of the created
strings, edit the resulting message file, Under no conditions should
you add to this file. Doing so could result in unpredictable behavior.
You issue the command to replace the extracted strings with calls to
the message catalog. In response to this command, creates the source
message catalogs, and and the output source programs, and
You must edit and to include the appropriate and function calls.
The command creates a message catalog and the command creates an exe‐
cutable program.
See Alsointro(3int), gencat(1int), extract(1int), strmerge(1int), regex(3),
catopen(3int), patterns(5int)
Guide to Developing International Software
strextract(1int)