Bash - Convertir des caracteres

Ce script bash permet de convertir des caractères en les remplaçant par d’autres.

#!/bin/bash

# Chaîne de caractères fournie
ma_chaine="23:31-13:08-02:45-[...]-10:23-00:00-13:37-03:14-16:51-[...]-20:17-09:54-23:31"

# Définir l'association chiffre-lettre
declare -A num_to_letter=(
[0]="O"
[1]="L"
[2]="Z"
[3]="E"
[4]="A"
[5]="S"
[6]="G"
[7]="T"
[8]="B"
[9]="J"
)

# Fonction pour remplacer les chiffres par les lettres correspondantes
replace_num_with_letters() {
local input=$1
local result=""

for ((i = 0; i < ${#input}; i++)); do
char="${input:$i:1}"
if [[ "$char" =~ [0-9] ]]; then
result+="${num_to_letter[$char]}"
else
result+="$char"
fi
done

echo "$result"
}

# Appliquer la fonction à la chaîne fournie
output_string=$(replace_num_with_letters "$ma_chaine")

# Afficher le résultat
echo "Chaîne d'entrée : $ma_chaine"
echo "Résultat : $output_string"

Sortie :

ZE:EL-LE:OB-OZ:AS-[...]-LO:ZE-OO:OO-LE:ET-OE:LA-LG:SL-[...]-ZO:LT-OJ:SA-ZE:EL

Documentation

Moteurs de recherches

> Partager <