Este é o sed básico. Usar sed não é difícil quando você conhece expressões regulares . Um comando básico sed para ler a entrada e retirar cada < e a seguinte parte, se existir, e depois imprimir a linha (pode ser modificada):
$ echo 'foo<....' | sed 's/<.*//'
foo
sed usa expressões regulares , o texto da página de manual relevante para sed(1) que se aplica ao comando acima:
Alternativa usando cut ( página de manual para cut(1) ), " divida a string por < e pegue o campo 1 st.
echo 'foo<....' | cut -d'<' -f1
Alternativa usando grep , "corresponde apenas a todos os caracteres contendo o conjunto a a z (sem distinção entre maiúsculas e minúsculas)" ( página de manual de grep(1) ):
echo 'foo<....' | grep -io '[a-z]*'
(nota: tomei a liberdade de usar [a-z]* , significando "zero ou mais ocorrências de uma letra", porque o grep não retornará uma linha vazia ao usar a opção -o )
Alternativa usando o awk, usando a mesma ideia de cut ( página de manual de awk(1) ):
echo 'foo<....' | awk -F '<' '{print $1}'