返回一个字符串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.