Tente:
sed -s -n -i '0,/<\/foo:bar>/p' *.txt
-s
informa ao sed para tratar cada arquivo como separado.
Como não queremos que sed
seja encerrado até que todos os arquivos estejam prontos, mudamos para apenas imprimir do início para <\/foo:bar>
e não imprimir o resto das linhas. -n
informa ao sed não ser impresso, a menos que seja explicitamente solicitado. O comando 0,/<\/foo:bar>/p
informa ao sed para imprimir qualquer linha no intervalo desde o início do arquivo até a primeira linha que corresponda a <\/foo:bar>
.
A opção -s
não está disponível para o sed do BSD / OSX.