summaryrefslogtreecommitdiffstats
path: root/scripts/awink
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/awink')
-rwxr-xr-xscripts/awink39
1 files changed, 25 insertions, 14 deletions
diff --git a/scripts/awink b/scripts/awink
index d0ad890..1456c8b 100755
--- a/scripts/awink
+++ b/scripts/awink
@@ -1,17 +1,28 @@
#!/usr/bin/env bash
-if ! [[ -n "$1" || -n "$2" ]]; then
- printf "%s\n" "awink <infile> <outfile>"
- exit 2
-fi
+##
+# arguments:
+# $1 In file
+# $2 Out file
+build() {
+ gawk '{
+ if (NF == 2 && $1 == "%include") {
+ while ((getline line < $2) > 0) {
+ print line;
+ }
+ close($2);
+ } else {
+ print;
+ }
+ }' "$1" > "$2"
+}
-gawk '{
- if (NF == 2 && $1 == "%include") {
- while ((getline line < $2) > 0) {
- print line;
- }
- close($2);
- } else {
- print;
- }
-}' "$1" > "$2"
+main() {
+ if [[ "$#" != 2 ]]; then
+ printf "%s\n" "awink <in file> <out file>"
+ exit 2
+ fi
+
+ build "$1" "$2"
+}
+main "$@"