From 97e4a9b6cb942c04f96e6b0677619d6ce2b283d2 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Wed, 23 Oct 2024 11:35:30 -0300 Subject: Add AWK version of uri(1) Perl utility --- deps.mk | 1 + src/uri | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100755 src/uri diff --git a/deps.mk b/deps.mk index a4831c0..c1eb55c 100644 --- a/deps.mk +++ b/deps.mk @@ -16,6 +16,7 @@ sources.sh = \ src/tempname \ src/timestamp \ src/untill \ + src/uri \ src/uuid \ src/varlist \ diff --git a/src/uri b/src/uri new file mode 100755 index 0000000..39f1409 --- /dev/null +++ b/src/uri @@ -0,0 +1,17 @@ +#!/bin/sh +set -eu + +awk ' +BEGIN { + for (i = 0; i < 256; i++) { + hex[sprintf("%c", i)] = sprintf("%%%02X", i) + } +} + +{ + for (i = 1; i < length($0); i++) { + c = substr($0, i, 1) + printf "%s", (c ~ /^[-._a-zA-Z0-9]$/ ? c : hex[c]) + } +} +' -- cgit v1.2.3