diff options
| author | Abigail <abigail@abigail.be> | 2021-05-03 17:56:41 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-05-03 18:05:39 +0200 |
| commit | 2a9661ee4386ae9a9e7caa8a0dcee83ce94b40fd (patch) | |
| tree | 9a8a26634d3b246720235f107baeb5092dcb19f8 | |
| parent | 9dd85135a86d3baa87f1858f272a2a47efbfd159 (diff) | |
| download | perlweeklychallenge-club-2a9661ee4386ae9a9e7caa8a0dcee83ce94b40fd.tar.gz perlweeklychallenge-club-2a9661ee4386ae9a9e7caa8a0dcee83ce94b40fd.tar.bz2 perlweeklychallenge-club-2a9661ee4386ae9a9e7caa8a0dcee83ce94b40fd.zip | |
GNU AWK solution for week 111, part 2
| -rw-r--r-- | challenge-111/abigail/README.md | 1 | ||||
| -rw-r--r-- | challenge-111/abigail/awk/ch-2.gawk | 33 |
2 files changed, 34 insertions, 0 deletions
diff --git a/challenge-111/abigail/README.md b/challenge-111/abigail/README.md index 5f00924966..53215ce77d 100644 --- a/challenge-111/abigail/README.md +++ b/challenge-111/abigail/README.md @@ -50,6 +50,7 @@ to standard output. In case of ties, we print the first one found. ### Solutions +* [GNU AWK](awk/ch-2.gawk) * [Perl](perl/ch-2.pl) ### Blog diff --git a/challenge-111/abigail/awk/ch-2.gawk b/challenge-111/abigail/awk/ch-2.gawk new file mode 100644 index 0000000000..98ac26a066 --- /dev/null +++ b/challenge-111/abigail/awk/ch-2.gawk @@ -0,0 +1,33 @@ +#!/usr/bin/awk + +# +# See ../README.md +# + +# +# Run as: awk -f ch-2.gawk < input-file +# + +BEGIN { + IGNORECASE = 1 + longest = "" + # + # Create a pattern /^a*b*...z*$/ + # + pat = "^" + for (i = 97; i <= 122; i ++) { + pat = pat sprintf ("%c*", i) + } + pat = pat "$" +} + +# +# Match words with letters in lexical order; keep longest. +# +match ($0, pat) && length ($0) > length (longest) { + longest = $0 +} + +END { + print longest +} |
