在linux的shell语言中,怎样用正则表达式来截取字符串?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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
user=`echo $str | awk 'BEGIN'`
id=`echo $str | awk 'BEGIN'`
addr=`echo $str | awk -F? ''`
本回答被提问者和网友采纳 参考技术B 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' 参考技术C echo "a=abc b=bcd c=cde" | sed 's/=/ /g' | awk 'print $2,$4,$6'
参考资料:http://luckyy.net/linux/shell%E7%AC%94%E8%AE%B0awk.html
参考技术D perl -le 'print $_ for split /\w=/, "a=1 b=2 c=3"'以上是关于在linux的shell语言中,怎样用正则表达式来截取字符串?的主要内容,如果未能解决你的问题,请参考以下文章