Shell脚本-如何从字符串“ T = 50”中获得50?

时间:2019-08-26 11:33:48

标签: string bash shell parsing

我需要从平面文件中获取尾数。 尾行将如下所示:

"TC=10"

我用过:

cnt=${trcnt#*=}
cnt=${cnt%%,*}

但是我得到的是cnt =“ 10”。

请告诉正确的命令以获取计数10。

我需要从“ TC = 10”中提取10个

2 个答案:

答案 0 :(得分:0)

您可以使用awk及其-F选项来定义“字段分隔符”:

| awk -F'=' '{print $2}' | awk -F'"' '{print $1}'

比其他替代品更容易理解,并且非常可定制。 对于两个类似的条目很有用:

echo "TC=10" | awk -F'=' '{print $2}' | awk -F'"' '{print $1}'
echo "\"TC=10\"" | awk -F'=' '{print $2}' | awk -F'"' '{print $1}'

另一个选项,与@shellter写道:

  

@oguzismail:您自己删除的答案对我来说很合适。

那个答案是:

    $ trcnt='"TC=10"'
    $ cnt=${trcnt#*=} # remove everything till first =
    $ cnt=${cnt%\"}   # remove trailing "
    $ echo "$cnt"
    10

答案 1 :(得分:0)

在删除数字以外的数字时,最好将数字匹配:

@Query("SELECT * FROM mydata")
fun loadAllPagedData(): DataSource.Factory<Int, MyData>

How to extract a number from a string using Bash example