diff options
Diffstat (limited to 'scripts/awink')
-rwxr-xr-x | scripts/awink | 39 |
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 "$@" |