我的问题在这里描述Add square bracket to the first character of string。
使用上面的链接参考,我尝试从过去4小时使用bash获得结果。
使用sed的任何解决方法。
#!/bin/bash
DESC="openerp-server"
initial="$(echo "$DESC" | sed 's/(.)/'[\1]'/g')"
echo $initial
感谢。
答案 0 :(得分:3)
使用sed
:
echo "string" | sed 's/^\(.\)/[\1]/'
echo "string" | sed 's/./[\0]/' # The same but simplified
输出:
[s]tring
答案 1 :(得分:2)
bash
提供标准参数扩展运算符的扩展,使您可以轻松访问参数的第一个字符和剩余字符。
$ DESC="openerp-server"
$ DESC="[${DESC:0:1}]${DESC:1}"
$ echo "$DESC"
[o]penerp-server
与POSIX兼容的版本稍长,需要一个临时变量来保持尾部。
$ DESC="openerp-server"
$ DESC_tail=${DESC#?}
$ DESC="[${DESC%$DESC_tail}]$DESC_tail"
$ echo "$DESC"
[o]penerp-server
答案 2 :(得分:0)
awk
版本:
echo "string" | awk '{$1="["$1"]"}8' FS= OFS=
[s]tring