View source | |
# 2024-06-26 - AWK Recipe | |
I manage a collection of about 80,000 or so recipes. Most of them | |
are in a plain-text format used by the Meal-Master recipe manager. | |
The top line is supposed to be something like: | |
MMMMM----- Recipe via Meal-Master (tm) v8.06 | |
The other day i found one that had a few unwanted lines on top. It | |
was probably a "copy paste" error from years ago. I hand fixed the | |
recipe format, but wanted to search my collection to see whether any | |
other recipes needed to be fixed. | |
I wrote a quick awk script to report whether a file has lines before | |
the Meal-Master signature, then i ran it on the whole database. To | |
my surprise, it took less than 10 seconds to search all 80k recipes. | |
$ find moar/ascii -type f | xargs awk ' | |
/via [Mm]eal-[Mm]aster/ { if (FNR > 1) found[FILENAME] = 1 } | |
END { for (fn in found) print fn }' >rlis | |
It found a total of 35 other recipes that needed to be fixed. | |
What's my point? I got a kick out of how quickly i arrived at a | |
solution using awk. It was easy and effective. | |
By the way, i tried it using gawk, mawk, and nawk, and got the | |
same results in all three. | |
tags: bencollver,retrocomputing,technical | |
# Tags | |
bencollver | |
retrocomputing | |
technical |