Bash Linux尾部只包含整句话
我需要打印字符串的最后20个字符,但只打印整个单词。分隔符是一个空格“Bash Linux尾部只包含整句话,bash,tail,Bash,Tail,我需要打印字符串的最后20个字符,但只打印整个单词。分隔符是一个空格“”。让我们来考虑这个例子: string=“敏捷的棕色狐狸跳过懒狗” echo$string | tail-c20 返回懒狗上方的s。我需要它通过懒狗返回。你知道如何做到这一点吗?谢谢 这在Bash>3.2中工作,无需使用任何外部程序: echo $string | perl -ne 'print "$1\n" if /\b(\S.{0,20})$/' [[ $string =~ \ (.{0,20})$ ]] result
”。让我们来考虑这个例子:
string=“敏捷的棕色狐狸跳过懒狗”echo$string | tail-c20
返回懒狗上方的
s
。我需要它通过懒狗返回。你知道如何做到这一点吗?谢谢 这在Bash>3.2中工作,无需使用任何外部程序:
echo $string | perl -ne 'print "$1\n" if /\b(\S.{0,20})$/'
[[ $string =~ \ (.{0,20})$ ]]
result="$BASH_REMATCH[1]"
我使用了UdiM的grep
版本作为基础。使用grep:echo$string | egrep-o'\@UdiM:你应该回答这个问题。这会输出前二十个单词。哈哈。。。很好的发现,改变了它的版本,但它仍然无法在多行。。。将研究。。。
[[ $string =~ \ (.{0,20})$ ]]
result="$BASH_REMATCH[1]"