Я нахожусь в Linux, и мне нужно:
Найти все .cpp
файлы во всех подкаталогах / source
Извлечьимя файла, содержащегося во всех инструкциях include по одному, т.е. из #include "filename.h"
Мне нужно извлечь filename.h
Найти для каждого filename.h
во всех подкаталогах и извлечь его путь
Вставьте путь в комментарий в конце соответствующего оператора включения в каждом .cpp
На данный момент мне только что удалось найти все операторы включения сКоманда grep
, однако мне нужно читать их скорее построчно, а также извлечь filename.h
из этой строки и указать местоположение файла в конце той же строки.Нужно ли использовать sed или лучше сохранить результат grep
в переменной и просмотреть его?Спасибо.
Фрагмент кода, который позволяет мне распечатать все включенные утверждения:
urdir=`pwd`
for f in `find $curdir/source/ -type f -a -name *.cpp`
do
chmod +rwx $f
grep -E -s '^[#][include].*["|<].*["|>]$' $f
done