gcd reprogrammed
This commit is contained in:
29
qcd_function
29
qcd_function
@@ -168,33 +168,7 @@ function whenfilechanges() {
|
||||
}
|
||||
|
||||
function gcd() {
|
||||
# guess cd, find first match in folder
|
||||
local dname
|
||||
local bname
|
||||
local match
|
||||
local join
|
||||
set -o pipefail
|
||||
join="$@"
|
||||
join=${join// /.}
|
||||
dname=$( dirname "$join" )
|
||||
bname=$( basename "$join" )
|
||||
match=$( ls -d "$dname"/*/ | grep "$bname" | head -n 1 )
|
||||
[[ ! "$match" = "" ]] && {
|
||||
echo $match | grep --color=always "$bname"
|
||||
\cd "$match"
|
||||
return
|
||||
}
|
||||
match=$( ls -d "$dname"/*/ | grep -i "$bname" | head -n 1 )
|
||||
[[ ! "$match" = "" ]] && {
|
||||
echo $match | grep -i --color=always "$bname"
|
||||
\cd "$match"
|
||||
return
|
||||
}
|
||||
echo No match.
|
||||
}
|
||||
|
||||
function fcd() {
|
||||
# gcd future fork
|
||||
# guess cd, find first match in folder, or ask if multiple hits
|
||||
local cdto
|
||||
{ cdto=$( python -c '
|
||||
import sys,os,re
|
||||
@@ -266,7 +240,6 @@ except ValueError,IndexError:
|
||||
sys.exit(1)
|
||||
sys.stderr.write(os.path.join(pat_dir,key_match))
|
||||
' "$@" 2>&1 1>&$out); } {out}>&1 ; \cd "$cdto"
|
||||
|
||||
}
|
||||
|
||||
function rmv () {
|
||||
|
||||
Reference in New Issue
Block a user