在linux的shell语言中,怎样用正则表达式来截取字符串?

在linux的shell语言中,怎样用正则表达式来截取字符串?
比如说,有一串字符串“a=1 b=2 c=3”或者"a=abc b=bcd c=cde"
注意:,里面的空格个数不定
我想从中取得a、b、c的值。
要求:
要用正则表达式,取出"a="和" "之间的值、取出"b="和" "之间的值、取出"c="和" "之间的值。
例如上例中的字符串取出来是:1 2 3或abc bcd cde
str=""
user=`echo $str | awk 'BEGIN'`
id=`echo $str | awk 'BEGIN'`
addr=`echo $str | awk -F? '掘粗郑'判颂凳祥`

echo "a=1 b=2 c=3"|sed -e 's/ /=/咐旁g'|awk -F= '{print $2 $4 $6}'

下面这个更准晌芦确
echo "a=1 b=2 c=3"|sed 's/[[:space:]]\+/=/g'|awk -F= '宴简带{print $2 $4 $6}'
echo "a=abc b=bcd c=cde" | sed 's/埋掘=/脊行 /g' | awk '弯野核{print $2,$4,$6}'
perl -le 'print $_ for split /\w=/, "a=1 b=2 c=3"'
← 上一篇: 下一篇: →