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 -u
ousort | uniq
ouawk '!seen[$0]++'
para remover duplicatas
sg*
significa correspondência s
seguido por g
zero ou mais vezes