# mkrec script

*Entered: in emacs on Gemini PDA* 
*Date: 20230911*

## This morning I moved Port70News to a recutils DB

This was super easy because of my mkrec script that takes a
gophermap and spits out a rec file:

```
#!/bin/bash

if [[ "$1" == "--help" ]] || [[ -z "$1" ]]; then
	printf "mkrec: gophermap to recutils db\n  \
	Usage: $(basename "$0") file category\n"
	exit
fi
cat "$1" | \
awk -v x="$2" 'BEGIN { FS = "\t" } \
{ print "Category: " x "\nType: " substr($1,1,1)\
"\nLinkTxt: " substr($1,2) "\nPath: " $2 \
"\nDomain: " $3 "\nPort: " $4 "\n" }'
```

For the p70n.rec database I didn't need a category field, so
I ran:

```
mkrec /var/gopher/Port70News/submissions.txt | mkrec | \
sed '/^Category/d' > p70n.rec 
```

Then a simple recsel using the -n option in conjunction with
wc -l and bc to get the last row number and the last row
minus 30. This results in a recordset containing the last 30
rows of the database which I pipe into recfmt to turn into
gophermap syntax, then pipe to tac to get last submissions
first.