Если вы используете gnu find/sed, это должно работать:
cd /
find subpath_with_files -name.hg -prune -o -type f -exec sed -i -e '1i\{}' {} +
Если вы хотите добавить это как комментарий, вы можете использовать что-то вроде этого:
cd /
find subpath_with_files -name.hg -prune -o -type f -exec sed -i '1i\# Filename: {}' {} +
Хитрость в том, что {}
можно использовать более одного раза в параметре exec команды find.
Я обрезаю .hg
, предполагая, что это находится в ртутном репозитории. Это может быть .git
или другое. Файлы, которые вы изменяете, должны находиться в каком-либо репозитории, чтобы вы могли знать, что изменение сработало должным образом, и вы можете откатиться с помощью команды возврата, если это не так.
Для этого используйте cpp -undef -P your_file.js
или cc -undef -E -P -xc your_file.js
.
Если вы не думаете, что cpp
или cc
являются достаточно "распространенными" инструментами, не повезло. Они действительно должны быть.