sed -i "s/mystring.*//" <filename>
-i faz o inline substituto (ou seja, infile == outfile). Sem -i o resultado da substituição seria impresso em stdout.
Como posso procurar por uma determinada string em vários arquivos (com uma determinada extensão) em um diretório e substituir tudo posteriormente (incluindo a string de pesquisa) por uma string em branco?
Estou procurando por 'mystring'
O arquivo contém:
foo bar mystring bar foo
Estou tentando acessar:
foo bar
Se você não precisa trabalhar em arquivos em subdiretórios recursivamente,
perl -p -i -e 's/mystring.*//' *.ext
Tags linux find-and-replace