Tente isto:
find /tmp/ -type f -name "*.h" -o -name "*.cpp" \
-exec sed -i '1s/^/#include <stdint.h>\n/' {} +
Além disso, como corretamente apontado para mim, o ! -name "*.bak"
é supérfluo. O padrão -name *foo
corresponde apenas aos arquivos que terminam com foo
. Portanto, o *.cpp
e o *.h
já excluem *.bak
.