aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-08-22 20:01:29 -0400
committerSam Anthony <sam@samanthony.xyz>2024-08-22 20:01:29 -0400
commit79c548d59a9f6879b0418bbb6112c81d02349f29 (patch)
tree61c12ac6c0ae62ea32d3d0423f5d347df1baec59
parent654fe9f9a8ed988b8347db2b202e45c4ff52188e (diff)
downloadbin-79c548d59a9f6879b0418bbb6112c81d02349f29.zip
fch: pure awk
-rwxr-xr-xfch30
1 files changed, 17 insertions, 13 deletions
diff --git a/fch b/fch
index 0c651d2..4515aaf 100755
--- a/fch
+++ b/fch
@@ -1,17 +1,21 @@
-#!/usr/bin/sh
+#!/usr/bin/awk -f
# Find CHaracter
-if [ $# -eq 0 ]
-then
- echo "Usage: fch <charname>"
- exit 2
-fi
-
-args="$@"
-awk -v charname="$args" '
- $0 ~ charname {
- printf "%s ",$0
- system("9 unicode " $1)
+BEGIN {
+ if (ARGC < 2) {
+ print "Usage: fch <charname>"
+ exit 2
}
-' /opt/plan9/lib/unicode
+
+ charname = ARGV[1]
+ for (i = 2; i < ARGC; i++)
+ charname = charname" "ARGV[i];
+
+ while (getline <"/opt/plan9/lib/unicode")
+ if (match($0, charname)) {
+ desc = substr($0, length($1)+1, length($0))
+ "9 unicode " $1 | getline char; close(char)
+ printf "%s%s\n",char,desc
+ }
+}