如何使用 bash 在单词的第一个字符周围添加 [ ] 括号



我的问题在这里描述 在字符串的第一个字符中添加方括号。

使用上面的链接参考,我正在尝试从过去 4 小时开始使用 bash 获得结果。

使用 sed 的任何解决方法。

#!/bin/bash
DESC="openerp-server"
initial="$(echo "$DESC" | sed 's/(.)/'[1]'/g')"
echo $initial

谢谢。

sed

echo "string" | sed 's/^(.)/[1]/'
echo "string" | sed 's/./[]/'         # The same but simplified

输出:

[s]tring

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

awk版本:

echo "string" | awk '{$1="["$1"]"}8' FS= OFS=
[s]tring

相关内容

  • 没有找到相关文章

最新更新