Я пытаюсь взять последнее слово или фразу, используя grep для определенного шаблона. В этом примере это будет от последней запятой до конца строки:
Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value
И поэтому желаемым выводом для этой строки будет «Great Value». Все строки также имеют разную длину, но перед последними словами всегда стоит одна запятая.
По сути, я хотел бы просто выводить с последней запятой до конца строки. Спасибо!
command-line
grep
reversebottle
источник
источник
awk -F, '{print $NF}'
?grep
это не инструмент для этой работы.Ответы:
Вот:
[^,]\+
соответствует одному или нескольким символам, которые не находятся,
в конце строки ($
)-o
печатает только соответствующую частьПример:
источник
-Eo
и тогда не нужно было бежать+
-E
позволяет ERE, вот почему.Всегда хотел бы увидеть
awk
решение, вот оно (проголосовало за правильное решение!):источник