Выбор регистрирует, которые запускаются с $LETTER или буквы позже, чем $LETTER в алфавите

Высокий звук ярлыков Emacs-стиля + f, Высокий звук + b работает по умолчанию со всеми readline-приводимыми-в-действие программами командной строки, как оболочки.

2
18.01.2011, 23:02
3 ответа

Это на самом деле очень просто:

echo [$LETTER-z]*

Если Вы хотите чувствительность к регистру:

echo [$(echo "$LETTER" | tr a-z A-Z)-Z$LETTER-z]*

Это работает, потому что оболочка выполняет расширение параметра перед расширением пути (т.е. globbing).

6
27.01.2020, 21:53

Как насчет того, чтобы использовать оболочку создал в globbing?

LETTER=c; echo [$LETTER-z]*

Это работало в ударе и ksh для меня.

1
27.01.2020, 21:53

Вы могли использовать сценарий как это:

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, чтобы сделать.

0
27.01.2020, 21:53

Теги

Похожие вопросы