Você pode usar find
para obter os arquivos de forma recursiva e, em seguida, sed
para fazer as alterações em linha. Isso deve funcionar se eu entender sua meta corretamente:
find . -print0 | xargs -0 sed -i 's/%s/%d/g; s/bcm_errstr(rv)/rv/g;'
Observação: que isso pode corresponder a mais do que você deseja, mas você tem um comportamento de destino bastante limitado listado. Você precisará ajustar a parte de localização para filtrar somente os arquivos que está segmentando.