1
我想使用bash提取一部分字符串。该字符串的格式如下:如何提取bash中两个字符之间的一部分字符串?
peeyush (>= 5) peeyush (<= 7)
现在我想提取两个变量中的大括号中的数字。就像
echo $var1
>=5
echo $var2
<=7
或者甚至更好,如果有可能从字符串中提取最小和最大格式的数字?
任何指针表示赞赏。
我想使用bash提取一部分字符串。该字符串的格式如下:如何提取bash中两个字符之间的一部分字符串?
peeyush (>= 5) peeyush (<= 7)
现在我想提取两个变量中的大括号中的数字。就像
echo $var1
>=5
echo $var2
<=7
或者甚至更好,如果有可能从字符串中提取最小和最大格式的数字?
任何指针表示赞赏。
使用该grep的:
s='peeyush (>= 5) peeyush (<= 7)'
unset var1 var2
while read -r p; do
[[ -z "$var1" ]] && var1="$p" || var2="$p"
done < <(grep -oP '\(\K[^)]+' <<< "$s")
echo "$var1"
>= 5
echo "$var2"
<= 7
我猜OP也希望'> ='一部分。 – fedorqui
啊谢谢,让我纠正 – anubhava
谢谢,作品像一个魅力。虽然我有疑问,但其中一些数字并不完全是单数字格式。其实这些都是版本号,有些像1.4.7或1.16,我应该如何修改正则表达式来区分它们? – Pensu