![如何使用 sed 删除 ] 特殊字符](https://linux22.com/image/902841/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20sed%20%E5%88%A0%E9%99%A4%20%5D%20%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6.png)
我怎样才能以特殊方式使用 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
仅供参考,^}$
它将单独匹配}
一行(即锚定在行首^
和行末$
)