我怎样才能以特殊方式使用 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
仅供参考,^}$
它将单独匹配}
一行(即锚定在行首^
和行末$
)