Bash:我如何拆分没有分隔符的字符串?

时间:2017-10-08 13:04:58

标签: bash

我有一个字符串36K total,TOO_MANY_NEWLINE_IN_TEXT_tABLE。从这个字符串我只需要36

可能吗?

4 个答案:

答案 0 :(得分:2)

https://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion所述,您可以写

echo "${foo:0:2}"

输出变量foo的前两个字符。

答案 1 :(得分:0)

你也可以试试这个:

echo "36K    total,TOO_MANY_NEWLINE_IN_TEXT_tABLE" | grep -oEi '([0-9])+'

答案 2 :(得分:0)

要从纯On Error中的字符串中提取(可变长度)的前导数字(不使用任何外部工具),您可以在{{3}内使用=~ operator(扩展的正则表达式匹配) }:

bash

答案 3 :(得分:0)

分隔符;字母K将第一个所需子字符串36与字符串的其余部分分开。

$ str="36K    total,TOO_MANY_NEWLINE_IN_TEXT_tABLE"
$ IFS=K read num rest <<< "$str"
$ echo "$num"
36