O comando base para o seu caso é assim:
sed -i 's|oldvalue|newvalue|g' file1 file2 file3
Se todos os seus arquivos estiverem no diretório ~/foo/bar/
, o que você deseja fazer é:
cd '~/foo/bar/'
find . -type f | xargs sed -i "" "s|onchange=\"document.location ='/products/view.html/view/'+this.value\"|onchange=\"alert\('Not implemented'\)\" style=\"display: none\"|g"
EDIT: o glob ( *
como nome do arquivo) pode ser problemático com muitos arquivos e não entrar nos diretórios filhos. Neste caso, mude a última linha.
EDIT 2: com o BSD sed (usado no MacOS X) -i
precisa de um argumento. BTW usando xargs
. Graças a @Dennis Williamson