Толик Панков
hex_laden
............ .................. ................
November 2020
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

Толик Панков [userpic]
BASH: Получить номер буквы в латинском алфавите, решение "в лоб".

Вот еще одно решение задачи про номер буквы в латинском алфавите (это подойдет и для русского, нужно просто изменить паттерн). Решение не очень красивое, зато дико простое.

#!/bin/bash
alf="abcdefghijklmnopqrstuvwxyz" #переменная, хранящая паттерн
b=`expr index $alf $1`
echo "$1 is $b"


Чтоб нумерация начиналась с 0, меняем строку
b=`expr index $alf $1`
на
b=`expr index $alf $1 - 1`

Примечание: параметр index команды expr позволяет получить индекс строковой последовательности: index <где_найти> <что_найти>

Готовый скрипт с проверками


На PasteBin
На GitHub

Остальные варианты решения той же задачи.


1. С помощью операторов for и if Копия
2. С помощью printf Копия

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/06/08/bash-poluchit-nomer-bukvy-v-latinskom-alfavite-reshenie-v-lob/

Tags: ,