我已经发现如何将bash中的字符串作为小写字母:
> multi_case='MULTIcaseSTRING'
> echo ${multi_case,,}
multicasestring
...以及如何获取字符串的最后两个字母:
> echo ${multi_case:(-2)}
NG
......但我不知道如何将它们结合起来。
如何以小写获取最后两个字母?如果它有帮助,我知道字符串总是两到五个字符长。
理想情况下,我正在寻找一个相当短的单行。
答案 0 :(得分:2)
你可以"滥用"它的for循环(如果你确定该变量不包含任何通配符或空格):
for i in ${multi_case,,}; do echo ${i:(-2)}; done
但在实践中,我会选择一个临时变量:
TMP=${multi_case,,}; echo ${TMP:(-2)}
答案 1 :(得分:1)
不是纯粹的bash,但您可以使用tr
以单行完成此操作:
multi_case='MULTIcaseSTRING'
tr '[[:upper:]]' '[[:lower:]]' <<< "${multi_case:(-2)}"
ng