Sed 如何从字符串中删除子字符串?

Sed 如何从字符串中删除子字符串?,sed,Sed,我有一个字符串: 09/May/2012:05:14:58 +0100 如何从字符串中删除子字符串58+0100 sed 's/\:[0-9][0-9] \+0100//' 不起作用它确实起作用: echo "09/May/2012:05:14:58 +0100"|sed 's/\:[0-9][0-9] \+0100//' 输出: 09/May/2012:05:14 如果它们总是采用这种格式,您只需执行以下操作: s/:[^:]*$// 这基本上消除了(包括)最后的字符以外的所有内容

我有一个字符串:

09/May/2012:05:14:58 +0100
如何从字符串中删除子字符串
58+0100

 sed 's/\:[0-9][0-9] \+0100//'
不起作用

它确实起作用:

echo "09/May/2012:05:14:58 +0100"|sed 's/\:[0-9][0-9] \+0100//'
输出:

09/May/2012:05:14

如果它们总是采用这种格式,您只需执行以下操作:

s/:[^:]*$//

这基本上消除了(包括)最后的
字符以外的所有内容:
字符(冒号,后面跟任意数量的非冒号字符,直到行尾)。

echo“09/May/2012:05:14:58+0100”\124; sed's/\:[0-9][0-9]\+0100/'--适用于meI,并立即尝试了它,但它在linux mint 12和bash下不起作用:(如果这个精确的命令在Linux上不起作用(加号前有或没有反斜杠,取决于正则表达式方言),那么它就有一个bug。