A sequência s/<[^>]*>//g é um comando para o mecanismo de processamento sed ; ele diz para fazer um "Search and replace". Portanto, -e 's/..../g' significa "adicione este comando de pesquisa e substituição à execução de sed .
Isso pode fazer mais sentido se fizermos vários comandos em um comando:
sed -e '1d' -e '$d'
adicionaria dois comandos ao processamento sed ; "delete first line" e "delete last line".
O [^>] é uma expressão regular que significa "qualquer caractere, exceto o >
Portanto, [^>]* significa "zero ou mais de qualquer caractere, exceto o >
E assim, <[^>]*> significa < , seguido opcionalmente por não > , seguido por > .
E então colocamos isso em um comando "search and replace" onde essa sequência é substituída por nada, e então faz várias vezes na linha (o% finalg).
Isso significa que a string hello <abc> there <def> coincidirá primeiro com <abc> (o < , depois abc corresponde a "zero ou mais não > ", depois o > ) e substitui isso por nada e, em seguida, refaça isso para o <def> . O resultado seria hello there .
(observe os espaços extras, porque não os estamos removendo!)