Как unifdef рекурсивно - PullRequest
       9

Как unifdef рекурсивно

0 голосов
/ 04 декабря 2018

Как я могу использовать unifdef для каталога рекурсивно.Следующая команда удаляет код вокруг DEFINE_NAME для данного файла.Я хотел бы удалить код из всех файлов в каталоге.

unifdef -UDEFINE_NAME filename

1 Ответ

0 голосов
/ 05 декабря 2018

Если у вас есть GNU findutils, вы можете использовать find для выполнения команд с найденными файлами, имя которых заканчивается на .c или .h:

% find -name '*.[ch]' -exec unifdef -m -UDEFINE_NAME '{}' ';'

exec получает командудля которого будет подставлено имя файла, {} - это место, где подставляется найденное имя файла, а ; завершает команду.

С другой стороны, если вы используете zsh в качестве оболочки, вы можетеиспользуйте рекурсивный глоб:

% unifdef -m -UDEFINE_NAME **/*.[ch]

Обратите внимание, что вам нужно -m, чтобы фактически изменить файл на месте.

...