X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=home%2Fbin%2Fp;h=0f7eb72a6958694b5dac957ffc851b13f7800399;hb=658fd8a9bf4f4fe704ecd233eb44d95e42ada57a;hp=b4a9cab38be38d9a4c404dccd343bb43a87e8360;hpb=ffdb69ae17ce6d8d15a6397e998f1b535cc48d84;p=khome.git diff --git a/home/bin/p b/home/bin/p index b4a9cab..0f7eb72 100755 --- a/home/bin/p +++ b/home/bin/p @@ -13,7 +13,7 @@ find() { ' BEGIN {_s = tolower(_s)} - /^[a-zA-Z]/ && tolower($1) ~ _s && NF >= 2 { + /^[^ \t]/ && tolower($1) ~ _s && NF >= 2 { n++ s = $1 p = $NF @@ -47,18 +47,22 @@ main() { local name file records i meta data datum case "$#" in - 0) - echo "$usage" >&2 - return 1;; - 1) - file="$default_file" - name="$1";; - 2) - file="$1" - name="$2";; - *) - echo "$usage" >&2 - return 1;; + 0) + echo "$usage" >&2 + return 1 + ;; + 1) + file="$default_file" + name="$1" + ;; + 2) + file="$1" + name="$2" + ;; + *) + echo "$usage" >&2 + return 1 + ;; esac records=$(find "$name" "$file") @@ -67,14 +71,17 @@ main() { # XXX Even an empty result will count as one line after echo, so need to filter: case "$(echo "$records" | grep -vc '^$')" in - 0) - echo '[ERROR] Found nothing.' >&2 - exit 1;; - 1) - datum="$data";; - *) - i=$(echo "$meta" | column -t | fzf | awk '{print $1}') - datum=$(echo "$data" | awk -v i="$i" 'NR == i');; + 0) + echo '[ERROR] Found nothing.' >&2 + exit 1 + ;; + 1) + datum="$data" + ;; + *) + i=$(echo "$meta" | column -t | fzf | awk '{print $1}') + datum=$(echo "$data" | awk -v i="$i" 'NR == i') + ;; esac # XXX Intentionally avoiding newline: