MirOS Manual: strfile(8)

STRFILE(8)               BSD System Manager's Manual                STRFILE(8)


     strfile, unstr - create a random access file for storing strings


     strfile [-iorsx] [-c char] source_file [output_file]
     unstr source_file


     strfile reads a file containing groups of lines separated by a line con-
     taining a single percent '%' sign and creates a data file which contains
     a header structure and a table of file offsets for each group of lines.
     This allows random access of the strings.

     The output file, if not specified on the command line, is named

     The options are as follows:

     -c char  Change the delimiting character from the percent sign to char.

     -i       Ignore case when ordering the strings.

     -o       Order the strings in alphabetical order. The offset table will
              be sorted in the alphabetical order of the groups of lines
              referenced. Any initial non-alphanumeric characters are ignored.
              This option causes the STR_ORDERED bit in the header str_flags
              field to be set.

     -r       Randomize access to the strings. Entries in the offset table
              will be randomly ordered. This option causes the STR_RANDOM bit
              in the header str_flags field to be set.

     -s       Run silently; don't give a summary message when finished.

     -x       Note that each alphabetic character in the groups of lines is
              rotated 13 positions in a simple caesar cypher. This option
              causes the STR_ROTATED bit in the header str_flags field to be

     The format of the header is:

           #define VERSION 2
           u_int32_t       str_version;    /* version number */
           u_int32_t       str_numstr;     /* # of strings in the file */
           u_int32_t       str_longlen;    /* length of longest string */
           u_int32_t       str_shortlen;   /* length of shortest string */
           #define STR_RANDOM      0x1     /* randomized pointers */
           #define STR_ORDERED     0x2     /* ordered pointers */
           #define STR_ROTATED     0x4     /* rot-13'd text */
           u_int32_t       str_flags;      /* bit field for flags */
           u_int8_t        str_delim;      /* delimiting character */
           u_int8_t        str_pad[3];     /* padding */

     All fields are written in network byte order. Each field is also written
     independently so as to avoid structure padding problems on some architec-

     The purpose of unstr is to undo the work of strfile. It prints out the
     strings contained in the file source_file in the order that they are
     listed in the header file source_file.dat to standard output. It is pos-
     sible to create sorted versions of input files by using -o when strfile
     is run and then using unstr to dump them out in the table order.


     strfile.out  default output file.


     byteorder(3), fortune(6)


     The strfile utility first appeared in 4.4BSD.

MirOS BSD #10-current            June 9, 1993                                1

Generated on 2016-04-09 20:35:54 by $MirOS: src/scripts/roff2htm,v 1.83 2016/03/26 23:38:28 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002–2016 The MirOS Project, Germany.
This product includes material provided by mirabilos.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.