Linux:sed模式匹配,这段是如何匹配的呢?
echo$1?|?sed?'s/\(.*\)\(.\)$/\2/'网上讲解:$1表示传进来的一个数字,这里判断该数字是奇数还是偶数,这里的重点主要是sed命令中正则表达式...
echo $1?|?sed?'s/\(.*\)\(.\)$/\2/'
网上讲解:
$1表示传进来的一个数字,这里判断该数字是奇数还是偶数,这里的重点主要是sed命令中正则表达式的写法,它将原有的数字拆分为两个模式(用圆括号拆分),一个前面的所有高位数字,另一个是最后一位低位数字,之后再用替换符的方式(\2),将原有数字替换为只有最后一位的数字,最后将结果返回为last_digit变量。?
没看懂这个讲解
\(.*\)表示0~多个任意字符
\(.\)表示一个任意字符
这两个必须都满足才可以吗?如果我只传进来一个8,也是奇数,但是8没办法被分成两部分啊,
而且后面的\2是什么意思呢?2前面加了个\是什么情况? 展开
网上讲解:
$1表示传进来的一个数字,这里判断该数字是奇数还是偶数,这里的重点主要是sed命令中正则表达式的写法,它将原有的数字拆分为两个模式(用圆括号拆分),一个前面的所有高位数字,另一个是最后一位低位数字,之后再用替换符的方式(\2),将原有数字替换为只有最后一位的数字,最后将结果返回为last_digit变量。?
没看懂这个讲解
\(.*\)表示0~多个任意字符
\(.\)表示一个任意字符
这两个必须都满足才可以吗?如果我只传进来一个8,也是奇数,但是8没办法被分成两部分啊,
而且后面的\2是什么意思呢?2前面加了个\是什么情况? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询