说我有这两行:
blah:20030717.abc
blah:20040714
使用sed,我如何才能在开始和结束时匹配 - ^blah.*abc$
- 并删除最后4个字符?
我试过
sed 's/\(^blah.*\)\(.\{4\}$\)/\1/g'
但是也会删除另一行的4个字符。
blah:20030717
blah:2004
和
sed 's/\(^blah.*abc$\)\(.\{4\}$\)/\1/g'
不会改变任何事情。
答案 0 :(得分:4)
为什么不做你
sed 's/\.abc$//g'
因为您已经知道要删除哪些 4个字符?
或者,如果您只想在以blah:
开头的行中执行此操作,
sed 's/^\(blah.*\)\.abc$/\1/g'
或者,如果您的问题是"如果该行以blah:
"
sed 's/^\(blah.*\)\..\{3\}$/\1/g'