分割字符串中最后一个空格后的最后 n 个字符

分割字符串中最后一个空格后的最后 n 个字符

返回一个字符串myString=$(some_command)

的结果值myString如下所示:

there are spaces in this line.  

bash可以输入什么特定命令来仅提取n结果值中最后一个空格之后的最后几个字符myString

对于上面显示的示例值myString,我想提取 5 个字符line.

然而,对于像“这条线有很多空格”这样的不同值myString,所需的切片输出将是spaces.

答案1

给定一个变量

myString='there are spaces in this line.'

您可以使用以下命令删除以空格结尾的最长前导组件参数扩展 ${myString##* }例如

$ myString='there are spaces in this line.'
$ echo "${myString##* }" 
line.
$
$ myString='this line has many spaces.'
$ echo "${myString##* }"
spaces.

相关内容