Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
说我有这两条线:
blah:20030717.abc blah:20040714
使用 sed,我如何仅在行首和行尾匹配 - ^blah.*abc$- 并删除最后 4 个字符?
^blah.*abc$
我试过了
sed 's/\(^blah.*\)\(.\{4\}$\)/\1/g'
但这也会从另一行中删除 4 个字符。
blah:20030717 blah:2004
和
sed 's/\(^blah.*abc$\)\(.\{4\}$\)/\1/g'
不会改变任何东西。
你为什么不做
sed 's/\.abc$//g'
因为您已经知道 要删除哪4 个字符?
或者,如果您只想在以 开头的行中执行此操作blah:,
blah:
sed 's/^\(blah.*\)\.abc$/\1/g'
或者,如果您的问题是“如何删除点后的任何最后三个字符,如果该行以blah:”开头:
sed 's/^\(blah.*\)\..\{3\}$/\1/g'