Chinaunix
标题:
有关sed正则表达式的问题
[打印本页]
作者:
zzbutcher
时间:
2012-12-07 12:44
标题:
有关sed正则表达式的问题
echo "sj_dhk_1_C47SPC300B200toC47SPC300B200.sql"|sed -r 's/.*(C[0-9][0-9]S*P*C*[0-9]*B[0-9][0-9]*)-*t*o*(C[0-9][0-9]S*P*C*[0-9]*B[0-9][0-9]*).*/\1-\2/'
复制代码
为什么结果出来的是C300B200-C47SPC300B200
我想要的结果是C47SPC300B200-C47SPC300B200
跪求指点
作者:
waker
时间:
2012-12-07 13:00
echo "sj_dhk_1_C47SPC300B200toC47SPC300B200.sql"|sed -r 's/(.*)(C[0-9][0-9]S*P*C*[0-9]*B[0-9][0-9]*)-*t*o*(C[0-9][0-9]S*P*C*[0-9]*B[0-9][0-9]*).*/\1~~\2-\3/'
复制代码
观察一下?
作者:
dn833
时间:
2012-12-07 14:02
sed -r 's/.*改成sed -r 's/.*_
其他照抄试试看
作者:
zooyo
时间:
2012-12-07 14:04
提示:
作者被禁止或删除 内容自动屏蔽
作者:
yestreenstars
时间:
2012-12-07 19:23
贪婪的正则
作者:
Shell_HAT
时间:
2012-12-07 19:27
http://bbs.chinaunix.net/thread-15825-1-1.html
作者:
kernel69
时间:
2012-12-07 22:22
这个怎么样?
echo "sj_dhk_1_C47SPC300B200toC47SPC300B200.sql"|perl -F'[_.]' -lane 'print $F[3] if $F[3] =~ s/(\w+)to(\w+)/\1-\2/'
复制代码
回复
1#
zzbutcher
作者:
reyleon
时间:
2012-12-07 22:32
echo "sj_dhk_1_C47SPC300B200toC47SPC300B200.sql"|awk 'BEGIN{FS="_|to|[.]";OFS="-"}{print $(NF-2),$(NF-1)}'
复制代码
用这个可以么?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2