Толик Панков
hex_laden
............ .................. ................
October 2025
      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 31

Толик Панков [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: ,