Grep 从字符串末尾到任何其他字符的所有数字?,并将这两个部分保存到变量?
Grep all number from end of string upto any other char?, and save both parts to variables?
我正在尝试仅 grep 从字符串末尾到任何其他字符的数字,例如:
"Version 1.2.34"
会给我 '34'
变量 $minor
和 'Version 1.2.'
变量 $type
我设法
minor=$(grep -Eo '[0-9]{1,24}')
但这给了我所有的数字。
使用纯 bash
:
s="Version 1.2.34"
minor="${s##*[!0-9]}"
type="${s%$minor}"
declare -p type minor
declare -- type="Version 1.2."
declare -- minor="34"
我正在尝试仅 grep 从字符串末尾到任何其他字符的数字,例如:
"Version 1.2.34"
会给我 '34'
变量 $minor
和 'Version 1.2.'
变量 $type
我设法
minor=$(grep -Eo '[0-9]{1,24}')
但这给了我所有的数字。
使用纯 bash
:
s="Version 1.2.34"
minor="${s##*[!0-9]}"
type="${s%$minor}"
declare -p type minor
declare -- type="Version 1.2."
declare -- minor="34"