22 lines
440 B
Bash
Executable File
22 lines
440 B
Bash
Executable File
#!/bin/sh
|
|
|
|
awk -v query="$1" '
|
|
/^!/ || length($0) == 0 { next }
|
|
{
|
|
delI=index($0, ":")
|
|
path=substr($0, 0, delI - 1)
|
|
gsub(/[\\.^$(){}\[\]|+]/, "\\\\&", path)
|
|
gsub(/*/, ".*?", path)
|
|
gsub(/\\\.?\\./, "\\.[^.]*\\.", path)
|
|
gsub(/^\?$/, "^[^.]*$", path)
|
|
gsub(/^\?\\./, "^[^.]*\\.", path)
|
|
gsub(/\\.\?$/, "\\.[^.]*$", path)
|
|
}
|
|
query ~ path {
|
|
res=substr($0, delI + 1)
|
|
gsub(/^[\t ]+/, "", res)
|
|
printf "%s", res
|
|
exit
|
|
}
|
|
' "$HOME/.Xdefaults"
|