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。