从grep获取字符串的长度不起作用

时间:2016-06-16 15:12:03

标签: bash

我试着得到像这样的字符串的长度(bash在linux中):

VAR= grep "test" file.txt
VARlength= ${#VAR}

由于某种原因,长度始终为零,即使字符串“test”在file.txt

中也是如此

有人可以解释我如何获得VAR的长度以及那里有什么问题吗?

3 个答案:

答案 0 :(得分:2)

  1. 请勿在{{1​​}}

  2. 之前和之后留空
  3. 您需要命令替换:=

答案 1 :(得分:1)

使用$( )

VAR=$(grep "test" test.txt)
VARlength=${#VAR}

答案 2 :(得分:0)

如果您愿意,还可以使用bcwc来获得结果:

VARlength=$(echo "var="$(grep "2" foo | wc -c;)";--var" | bc)

这将计算匹配中的字符数(wc -c),然后使用bc减去1,因为您不想计算换行符。