Моя задача - изменить все имена функций в исходном коде C (определения, объявления и комментарии), которые имеют только одно подчеркивание и только маленькие буквы. Например, my_func (void) ----> myFunc (void). как мне это сделать? В своем коде я проверяю, содержит ли строка файла имя функции, которую я должен изменить, но я не знаю, как это сделать. Или, может быть, эта задача имеет более эффективное и лучшее решение?
while read line; do
if [[ "$line" =~ ^(int|char|float|long|short|void|double)?[[:space:]]?[^_]([a-z0-9]+[_]?)+[(]([a-z[:space:]])*[)][:space:]*[{]? ]]; then
# here should be the code
fi
done < ${FILENAMES[i]}
Я понимаю, что здесь следует использовать 'sed', как
sed -i 's/_//' ${FILENAMES[i]}
, но эта команда меняет все строки моегофайл, не только то, что я хочу и должен изменить. Спасибо.