【已解决】sed 正则表达式

为当前最终发行版之前的所有版本提供支持
回复
ruandao
帖子: 177
注册时间: 2009-08-29 10:57
送出感谢: 16 次
接收感谢: 3 次

【已解决】sed 正则表达式

#1

帖子 ruandao » 2013-01-31 2:07

提取一个字符串中的最后一个字符,如果只有一个字符则不提取
例如:
echo adfd | sed "s/.\{1,\}\([[:alpha:]]\)$/\1/" # 失败了,我想提取v,但是给我一整串


:em06

============================
解决掉了
echo dflkf | sed -e "s/\(.*\)\(.\)/\1\U\2/"
还活着
ruandao
帖子: 177
注册时间: 2009-08-29 10:57
送出感谢: 16 次
接收感谢: 3 次

【已解决】

#2

帖子 ruandao » 2013-01-31 2:47

echo dflkf | sed -e "s/\(.\)\.*/\U\1/"
=====> Dflkf
echo dflkf | sed -e "s/\(.\).*/\U\1/"
=====> D
上面两个就差一个\ 【\)】旁边的

何解?

:em20
=====================
好想删掉~~~这个好弱智的。。。。 把\U当作使整个单词\1大写,然后。。。哭泣吧 :em20
上次由 ruandao 在 2013-01-31 4:53,总共编辑 2 次。
还活着
头像
ceclinux
帖子: 308
注册时间: 2013-01-17 2:42
系统: Ubuntu 12.04LTS
送出感谢: 10 次
接收感谢: 1 次

Re: sed 正则中 神奇的反斜(\)

#3

帖子 ceclinux » 2013-01-31 3:35

这里是转义的意思,\.即为正常的点
.为任意字符
这些用户感谢了作者 ceclinux 于这个帖子:
ruandao (2013-01-31 4:39)
评价: 3.7%
Ubuntu 12.04 LTS
laptop:Acer 4750G CPU:I5-2410
内存:2+2G 硬盘:500+750
http://www.ceclinux.org
回复

回到 “老旧版本支持”