shell - 在字符串中的不同索引处插入字符

时间:2013-04-05 17:50:34

标签: unix dash-shell

它最终将成为更大脚本的一部分,因此需要进行shell脚本编写。在其他语言中的一个简单的任务,但我在shell中完成它有困难。基本上我有一个字符串,我想插入一个“。”在字符串中的所有可能的索引。输出可以是换行符,也可以用空格分隔。有人可以帮忙吗?

例:
输入:“abcd”

输出:“。abcd
         a.bcd
         ab.cd
         abc.d
         abcd。“

OR

输出:“。abcd a.bcd ab.cd abc.d abcd。”

1 个答案:

答案 0 :(得分:2)

一个简单的for循环可以:

input=abcd
for ((i=0; i<${#input}+1; i++))
do
    echo ${input::$i}.${input:$i}
done

这只是在每个索引处切掉字符串并插入.。您可以将echo更改为其他类似的内容,如果您想要存储它们而不是输出它们,当然。