Tente isto:
$ grep -o 'sg-[^ ]*' ip.txt
sg-77aaaa10
sg-7842031d
sg-796d1b1e
sg-79a4861d
sg-79a4861d
-
[^ ]*significa diferente de caractere de espaço. Você também pode usar[0-9a-f]se souber que eles consistem em apenas caracteres hexadecimais - canalize-o para
sort -uousort | uniqouawk '!seen[$0]++'para remover duplicatas
sg* significa correspondência s seguido por g zero ou mais vezes