diff options
Diffstat (limited to 'urigetline')
-rwxr-xr-x | urigetline | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/urigetline b/urigetline new file mode 100755 index 0000000..81e28c9 --- /dev/null +++ b/urigetline @@ -0,0 +1,25 @@ +#!/bin/bash +uri="$1" +### old way. +# line="$(grep "^${scheme}:" ~/.config/uristart.conf | cut -d: -f2- | sed 's/^[ \t]*//g' | sed 's/\\/\\\\/g')" + +### fancy way. +cat ~/.config/uristart.conf \ + | while read -r l;do + uritmp="$uri" + uritmp="$(printf "%s\n" "$l" \ + | cut -d: -f1 \ + | tr ' ' '\n' \ + | paste '-d ' - - \ + | while read -r a b;do + uritmp="$(printf "%s\n" "${uritmp}" | urimatch "$a" "$b")" + printf "%s\n" "$uritmp" + done | tail -n1)" + if [ "$uritmp" ];then + printf '%s\n' "$l" + break + fi + done \ + | cut -d: -f2- \ + | sed 's/^[ \t]*//g' \ + | sed 's/\\/\\\\/g' |