替换指定字符数

Cru*_*der 1 bash awk grep sed

我有这样的事情:

aaaaaaaaaaaaaaaaaaaaaaaaa

我需要一些东西,允许我根据指定的数字替换a另一个字符,如c从左到右.

例如:

some_command 3应更换一次3 ac
cccaaaaaaaaaaaaaaaaaaaaaa

some_command 15
cccccccccccccccccaaaaaaaaaa

Mar*_* K. 5

这可以完全用bash完成:

some_command() {
    a="aaaaaaaaaaaaaaaaaaaaaaaaa"
    c="ccccccccccccccccccccccccc"
    echo "${c:0:$1}${a:$1}"
}

> some_command 3
cccaaaaaaaaaaaaaaaaaaaaaa
Run Code Online (Sandbox Code Playgroud)

  • +1.你不必硬编码替换字符串:`c = $ {a //?/ c}`.此外,在函数中,使用`local`,这样就不会过度污染全局命名空间. (3认同)