Existem dois comandos s : sed pode ter uma lista de comandos separados por ponto e vírgula. Você poderia colocar a mesma coisa em um arquivo de script assim:
s/^[[:space:]]*//
s/[[:space:]]*$//
Além disso, você está analisando erroneamente o comando s : s não é pesquisa , é substituto : são necessários dois argumentos, a string para match e a string para substituí-lo por ( s/find/replace/ ).
Então, s/^[[:space:]]*// significa
s (substitute)
/^[[:space:]]*/ (leading whitespace)
// (with an empty string)
e o segundo comando s/[[:space:]]*$// significa substitui o espaço em branco à direita por uma string vazia .