在最后一个冒号之后是 Sed 还是 awk?

Sed or awk after last colon?

我试图打印出这一行最后一个冒号后的最后几个词:

Tue Jul 21 11:17:50 NetBoot046 jamf[1240]: Installation failed. The installer reported: installer: Package name is GarageBand

所以输出将是 Package name is GarageBand

有没有办法把这部分sed出来?

假设您希望 "fix" 的部分不包含换行符,即您只有一行输入,或者所有相关文本都包含在一行中。

sed -e 's/.*://'

由于发布了 sed 解决方案,这里是 awk 中的解决方案:

<text output> | awk -F ":" '{print $NF}'
  1. : 设为您的字段分隔符
  2. 打印最后一个字段。