Bash 在Ubuntu上制作脚本以替换选定字符串中的字符

Bash 在Ubuntu上制作脚本以替换选定字符串中的字符,bash,ubuntu,Bash,Ubuntu,我想在Ubuntu上制作一个脚本,在编辑一些文本文件时,使用键盘快捷键将选定的西里尔文字符串转换成拉丁文。比如说, Selected string | Changed қызыл | qızıl 你能帮我做吗?你可以用翻译创建一个数组,然后用sed i替换: 这假设您的_列表包含两列。首先是单词,其次是翻译 然后sed-我用sed s/something/replacement/g语法执行就地替换。这个问题似乎离题了,因为它是关于在Ubuntu上执行特定操作的,可能更适

我想在Ubuntu上制作一个脚本,在编辑一些文本文件时,使用键盘快捷键将选定的西里尔文字符串转换成拉丁文。比如说,

Selected string | Changed 

қызыл           | qızıl

你能帮我做吗?

你可以用翻译创建一个数组,然后用sed i替换:

这假设您的_列表包含两列。首先是单词,其次是翻译


然后sed-我用sed s/something/replacement/g语法执行就地替换。

这个问题似乎离题了,因为它是关于在Ubuntu上执行特定操作的,可能更适合我先问的,然后一些聪明人把我送到这里
declare -A array=()

while read word trans;
do
        array[$word]="$trans"
done < your_list

file="file_to_replace"
for key in ${!array[@]}; do
    #echo "array[$key] = ${array[$key]}" # to see the array composition
    sed -i "s/$key/${array[$key]}/g" $file
done