2015-07-22 2 views
0

Я пытаюсь напечатать последнюю пару слов после последнего двоеточия в этой строке:Sed или awk после последней толстой кишки?

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

Так что выход будет Package name is GarageBand

Есть ли способ, чтобы СЭД этой части?

ответ

1

Предполагая, что часть, которую вы хотите «исправить», не содержит новую строку, то есть у вас есть только одна строка ввода, или весь соответствующий текст содержится в одной строке.

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

Для полноты 'sed -e '/.*: //'' удалит пространство в начале, чтобы точно соответствовать запрошенной строке. –

+0

Опция -e не нужна. Это если несколько выражений. Я бы написал: 'echo | sed 's /.*: * //' ' – blashser

1

Поскольку СЕПГ решение было выложено, вот один в AWK:

<text output> | awk -F ":" '{print $NF}' 
  1. Сделать : ваше поле Разделитель
  2. печати последнее поле.