linux正则表达式 ;s/^[ \t]*//是什么意思?
脚本里面有一个句子TAG_NAME=$(echo$(grep-wro.swversion${TARGET_OUT}/system/build.prop)|sed-e's/...
脚本里面有一个句子TAG_NAME=$(echo $(grep -w ro.swversion ${TARGET_OUT}/system/build.prop) | sed -e 's/ro.swversion=//;s/^[ \t]*//;s/[ \t].*//')
但是不太明白后半部分's/ro.swversion=//;s/^[ \t]*//;s/[ \t].*//' 怎么理解,求解 展开
但是不太明白后半部分's/ro.swversion=//;s/^[ \t]*//;s/[ \t].*//' 怎么理解,求解 展开
2个回答
展开全部
s/^[ \t]*//表示如果匹配到以制表符开头的字符串那就把开头的制表符去掉,s/[ \t].*//表示如果在字符串中有制表符那么把制表符去掉。说白了就是去掉匹配字符串中的制表符,但我觉得只要写s/[ \t].*//就好。
追问
能详细说一下里面各部分的作用么?比如//是起什么作用?还有就是那里表现是去掉制表符的。
我看到结果是 TAG_NAME = H60P(build.prop 中有ro.swversion= H60P),这个是怎么实现的?
追答
s///这个就表示是替换操作,它的完整格式是s/用来匹配的正则表达式/替换内容/,像第一个//里面它就是写^[ \t]*,那就表示匹配的内容,第二个//留空就是去掉。剩下的同理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询