Я создал утилиту под названием file-line-replacer
, чтобы решить эту проблему. Он был написан для Node, поэтому, если на вашем компьютере Ma c / Linux / Windows установлен Node, вы сможете использовать его без проблем.
Сначала установите это (я предпочитаю устанавливать его глобально) ...
npm i -g file-line-replacer
... затем просто запустите одну команду (этот пример был для проблемы с сиквелизацией выше) ...
file-line-replacer \
--search-dir "/Users/flackey/my-project/src/data/models" \
--backup-dir "/Users/flackey/my-project/_backup" \
--old-lines "allowNull: false,|primaryKey: true" \
--new-lines "autoIncrement: true,|primaryKey: true" \
--overwrite
Приведенная выше команда будет соответствовать целым блокам строк. Таким образом, в этом примере строка primaryKey: true
гарантирует, что она будет нацелена на правильную область. Затем он заменит блок текста в --old-lines
на блок текста в --new-lines
И, поскольку указан --backup-dir
, он создаст резервную копию каждого файла перед изменением оригинала.
Примечание. Разделителем по умолчанию для строк является |
(pipe), однако вы можете выбрать свой собственный удалитель, передав --delimiter
, чтобы установить глобально, или --old-lines-delimiter
/ --new-lines-delimiter
, чтобы установить его для этой спецификации. c блок строк (на тот случай, если вам действительно нужно найти или заменить строки, имеющие разделитель по умолчанию).
На странице проекта есть множество других опций: https://github.com/FredLackey/file-line-replacer