]> granicus.if.org Git - fortune-mod/blob - fortune-mod/datfiles/data/rules-of-acquisition-gen.sh
37543a953ce6718cde7cceeb5b41e7d0beece329
[fortune-mod] / fortune-mod / datfiles / data / rules-of-acquisition-gen.sh
1 #!/bin/sh
2
3 # -------------------------------------------------------------------------
4 #                                                                         -
5 #  Created by Fonic <https://github.com/fonic>                            -
6 #  Date: 12/28/21                                                         -
7 #                                                                         -
8 # -------------------------------------------------------------------------
9
10 # Configuration
11 csv_delimiter="|"
12 title_template="Ferengi Rule of Acquisition %s:"
13 rule_template="%s"
14 source_template="-- %s"
15 footer_template="%%"
16 line_maxlen=78
17
18 # Check command line
19 if [ $# -ne 2 ]
20 then
21         echo "Usage: ${0##*/} INFILE OUTFILE"
22         exit 2
23 fi
24 infile="$1"
25 shift
26 outfile="$1"
27 shift
28
29 # Convert CSV to DAT + wrap long lines + remove trailing whitespace
30 while IFS="${csv_delimiter}" read -r number rule source
31 do
32         printf -- "${title_template}\n" "${number}"
33         printf -- "${rule_template}\n" "${rule}"
34         printf -- "${source_template}\n" "${source}"
35         printf -- "${footer_template}\n"
36 done < "${infile}" | fold -sw "${line_maxlen}" | sed -e 's/[[:space:]]*$//' > "${outfile}"