如何用bash中的另一个字母替换?

时间:2015-07-02 22:36:52

标签: string bash replace

我是一名新的bash学员。我想知道,如何在bash中替换另一封信。 任务是:我必须从标准输入中获取一些字符串。然后我必须处理每个字符串。对于一个字符串,我必须用.替换第一次出现的大写字母。

说输入如下:

Namibia
Nauru
Nepal
Netherlands
NewZealand
Nicaragua
nIgEr
Nigeria
NorthKorea
Norway

输出应该是:

.amibia .auru .epal .etherlands .ewZealand .icaragua n.ger .igeria .orthKorea .orway

我能做到:

countries=()
while read -r country; do
    # here I have to do something to detect the first occurrence of capital letter and then replace it with a dot(.)
    countries+=( "$country" )
done
echo "${countries[@]}"

请帮助。

1 个答案:

答案 0 :(得分:2)

替换

countries+=( "$country" )

countries+=( "${country/[[:upper:]]/.}" )