Высокий звук ярлыков Emacs-стиля + f, Высокий звук + b работает по умолчанию со всеми readline-приводимыми-в-действие программами командной строки, как оболочки.
Это на самом деле очень просто:
echo [$LETTER-z]*
Если Вы хотите чувствительность к регистру:
echo [$(echo "$LETTER" | tr a-z A-Z)-Z$LETTER-z]*
Это работает, потому что оболочка выполняет расширение параметра перед расширением пути (т.е. globbing).
Как насчет того, чтобы использовать оболочку создал в globbing?
LETTER=c; echo [$LETTER-z]*
Это работало в ударе и ksh для меня.
Вы могли использовать сценарий как это:
START=c
END=q
ls | egrep ^[$START-$END].*
это выбрало бы все файлы, которые запускаются с c через q.
демонстрационный вывод:
[gbeech@svr01 test]$ echo ^[$START-$END].*
^[c-q].*
[gbeech@svr01 test]$ ls | egrep ^[$START-$END].*
cfile
ffile
ffile2
qfile
это могло также быть расширено для ограничения grep примерно любым способом, которым можно скорректировать regex, чтобы сделать.