如何使用 sed 删除 ] 特殊字符

如何使用 sed 删除 ] 特殊字符

我怎样才能以特殊方式使用 sed 来删除特殊字符的一部分

sed s/^}$//g > file 

什么也不做,我试图删除括号内的每一行开头,这样这一行

Aug 09 19:46:15 inspire NetworkManager[747]: <info>  [1533861975.9201] dhcp4 (wlp3s0b1): state changed unknown 

看起来像这样

dhcp4 (wlp3s0b1): state changed unknown

答案1

我不确定你为什么会期望这样做,但是如果你想匹配(并删除)以 结尾的最长字符串]及其尾随空格,你可以使用sed 's/.*] //'

前任。

echo 'Aug 09 19:46:15 inspire NetworkManager[747]: <info>  [1533861975.9201] dhcp4 (wlp3s0b1): state changed unknown' | 
  sed 's/.*] //'
dhcp4 (wlp3s0b1): state changed unknown

仅供参考,^}$它将单独匹配}一行(即锚定在行首^和行末$

相关内容