Shellscript перебирать буквы - PullRequest
1 голос
/ 14 мая 2011

Мне нужно перебрать буквы алфавита c в алфавитном порядке в шеллскрипте, попытка ниже не удалась, как мне сделать это правильно?

for((i=&#39;c&#39;;i<&#39;k&#39;;i++))
do
  echo $i
done

Ответы [ 3 ]

2 голосов
/ 14 мая 2011

это работает в моей оболочке (Bash 3.0 +):

for c in {c..k}
do
  echo $c
done
2 голосов
/ 14 мая 2011

Это будет работать в bash как минимум:

for i in {c..k}
1 голос
/ 15 мая 2011

Учитывая, что вы специально не запрашиваете bashisms, вот несколько альтернатив без них.

Simple:

for c in c d e f g h i j k; do
    echo $c
done

Избегая необходимости перечислять все символы:

s=$(printf %d "'c")
e=$(printf %d "'k")
i=$s
while [ $i -le $e ]; do
    c=$(printf \\$(printf %o $i))
    echo $c
    i=$((i+1))
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...