我有这样一句话:
14:32:38,723 [some text] ERROR - 更多文字..... 。
我想删除所有内容(但不包括)第一个“[”(以便结果是一行以[some text]开头.....)
我的阅读
's/^.*\d*\s//'
是它应该替换一个数字后跟一个空格的所有内容,但它似乎是在行中的任何地方应用替换,即贪婪。
我试过了:
's/^.*\s\[//g'
但它首先剥离了“[”
如何修改任一表达式以满足我的需要? 非常感谢
答案 0 :(得分:3)
我会应用以下sed命令
s/^[^[]*\[/\[/
它使用单个[
替换第一个[
的所有内容。
$ echo "14:32:38,723 [some text] ERROR - some more" | sed 's/^[^[]*\[/\[/'
[some text] ERROR - some more text
答案 1 :(得分:2)
这可能对您有用:
sed 's/[^[]*//' file