From d53b70ded27d7aaf5da6f25db0f222c11cfbecee Mon Sep 17 00:00:00 2001 From: q Date: Thu, 30 Jan 2014 19:28:22 +0200 Subject: [PATCH] gcd Guess CD --- qcd_function | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/qcd_function b/qcd_function index 2a86b44..7c9ee3a 100644 --- a/qcd_function +++ b/qcd_function @@ -157,4 +157,25 @@ function whenfilechanges() { } - +function gcd() { +# guess cd, find first match in folder + local dname + local bname + local match + set -o pipefail + dname=$( dirname "$1" ) + bname=$( basename "$1" ) + match=$( ls "$dname" | grep "$bname" | head -n 1 ) + [[ ! "$match" = "" ]] && { + echo $match | grep --color=always "$bname" + \cd "$match" + return + } + match=$( ls "$dname" | grep -i "$bname" | head -n 1 ) + [[ ! "$match" = "" ]] && { + echo $match | grep -i --color=always "$bname" + \cd "$match" + return + } + echo No match. +}