将一个字符串置于另一个字符串的中心

将一个字符串置于另一个字符串的中心

我正在使用 Ubuntu 18.04

我有一个长度的字符串N,我想将其放在另一个字符串的中心。

因此设置一些长度为 N 的字符串

old_string="***"

我想要一条新弦(长度 55),旧弦位于其中心。

new_string="     ***     "

我如何在 bash 中执行此操作?

虽然实际上尾随空格是多余的,所以我可以——简单地说

new_string="     ***"

答案1

假设您使用 bash shell,请尝试以下操作:

short='---' 
long='abcdefgh'
half=$(( ${#long} / 2 ))
result=${long:0:${half}}${short}${long:${half}}
printf "%s\n" $short $long $half $result

结果:

---
abcdefgh
4
abcd---efgh

参考:

man bash
/ Parameter Expansion

相关内容