July 15,1989 Putting PAF on 3x5 Index Cards, Continued I read Don Wilson's article in the January/February 1989 digest for ideas on a 3x5 file card output. The PAF User Defined Report function, although useful, doesn't include all the information, such as marriage information, one might want to place on the index cards. I was looking for a way of reducing and extracting the information contained on the Family Group Records (FGR) onto a 3x5 file card. Within the past year, I've taken a job that requires me to use a Unix operating system. I've found that there are a lot of extremely powerful text processing tools in Unix. Among them are sed (stream editor) and awk (a text processing language). Both of these tools have been ported to MS-DOS and can be obtained as shareware from local electronic bulletin boards. The files I downloaded are SEDMOD.ZIP and AWK212.ZIP. Simplistically sed copies a named file, usually an ASCII text file, to standard output (ASCII) and edits the file according to a script of commands. Lines can be deleted, according to parameters and characters can be changed/deleted. Likewise awk scans the input file for lines that match a set of patterns specified in the program. With each pattern in the program there can be an associated action that will be performed when a line of the file matching the pattern. An input line is made up of fields separated by a field separator (FS), usually a space. The fields are denoted by $1, $2, ... The FGR is a very structured report which easily lends itself for reformatting under sed and awk. My goal was to convert FGRs into a standard delimited file that could be input into dBASE III+. Once in dBASE, I could produce the 3x5 index cards with the information I wanted. I was able to meet that goal. This article will show you how you can convert your FGRs. Further modification of the sed and awk programs maybe necessary if the output is to be formatted differently or if additional data is needed for your research. The first step is to decide what group of FGRs you wish to convert. PAF has several options. You can use the Cascading Pedigree or the Range Print feature to obtain the applicable FGRs. Select the option to print the report to disk. Once on disk, there are two steps necessary to convert the parent information and three steps to convert the children information. For my purposes, I have assumed that all married children will have separate FGRs printed. Therefore, only single children are extracted from the FGRs. If you wish to extract all children from a FGR, then you only need to change one line in the awk file. Once on disk, use sed in conjunction with listing 1 to convert the FGRs into a format that awk can use. I have chosen the colon to be the field separator and have deleted all extraneous lines. Figure 1 represents the FGR before and figure 2 represents the FGR after being processed by sed. The MS-DOS command is: sed -f paf.sed print.dat > print.txt Once the file is converted, we then use awk with the program shown in listing 2 to extract and reformat the data into a format that dBASE can accept. Figure 3 represents the formatted output, acceptable to dBASE. The MS-DOS command is: awk -f paf.awk print.txt > dbase.dat Extracting the unmarried children from the same FGRs requires different sed and awk programs (listings 3-5) and only three steps: sed -f paf1.sed print.dat > print.txt awk -f paf1.awk print.txt > dbase.txt sed -f cleanup.sed dbase.txt > dbase.dat The dbase.dat file produced than can be imported into dBASE III+. The structure of the dBASE file is shown in figure 4. To paraphrase Don Wilson, you now have a procedure to produce a structured file that can be imported dBASE, or with changes, into any other format desired. You also have the ability to extract other pertinent genealogical information that may not be present in PAF User Defined Reports. Steph Valentine