From f5e181c2723948e7fba262900d4bd0ec8da7975f Mon Sep 17 00:00:00 2001 From: Jeremy Kaplan Date: Wed, 3 Oct 2018 11:49:21 -0700 Subject: [PATCH] Offsets for CLI guru --- bin/offset | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 bin/offset diff --git a/bin/offset b/bin/offset new file mode 100755 index 0000000..1956180 --- /dev/null +++ b/bin/offset @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -euo pipefail + +if [ "$#" -lt 3 ]; then + cat <<-USAGE +Usage: $0 filename line column +USAGE + exit 1 +fi + +fname="$1" +linum="$(("$2"))" +beforelines="$((linum - 1))" +colnum="$3" +beforecols="$((colnum - 1))" + +offset=$({ +head --quiet --lines "$beforelines" "$fname" +sed -n "${linum}p" "$fname" | awk '{ print substr($0,0,'"$beforecols"') }' +} | wc -c) +echo "$((offset - 1))"