我需要打印最后20个字符串的字符串,但只需要整个单词。分隔符是一个空格“”。让我们考虑这个例子:
string =“快速的棕色狐狸跳过懒狗” echo $ string |尾巴-c20
返回s over the lazy dog
。我需要它来返回over the lazy dog
。你知道怎么做吗?谢谢!
答案 0 :(得分:3)
echo $string | perl -ne 'print "$1\n" if /\b(\S.{0,20})$/'
答案 1 :(得分:2)
echo $string | rev | cut -d ' ' -f -20
答案 2 :(得分:1)
这适用于Bash> 3.2不使用任何外部程序:
[[ $string =~ \ (.{0,20})$ ]]
result="$BASH_REMATCH[1]"
我使用 UdiM的 grep
版本作为基础。