如何删除“]”之后的一行中的所有字符与sed?

如何删除“]”之后的一行中的所有字符与sed

我试图使用猫,awk grep一些文件。 现在我的线上线返回给我一些像

121.122.121.111] other characters in logs from sendmail.... :)

现在我想删除“]”后的所有字符(用“]”)。 我只想要121.122.121.111在我的输出。

我正在searchsed的特定示例,但在这些示例中找不到任何帮助。

  echo "121.122.121.111] other characters in logs from sendmail...." | sed 's/].*//' 

所以,如果你有一个像这样的文件,你可以做的

  sed 's/].*//' filename 

如何cut而不是:

 cat logfile | cut -d "]" -f1 

就像是

 sed 's|\(.*\)\] .*$|\1|' 

应该做你想做的。 \(.*\)]将所有文本捕捉到记忆模式中,然后\1将其replace为整行。