perl: как сохранить только отредактированные изменения из отредактированного файла (без его удаления)? - PullRequest
1 голос
/ 30 апреля 2020

Я редактирую файл из STDIN: $ perl -wlne 'if ((/start here/ .. /end here/)&&(/line to change/)) { print s/match/CHANGE/r }' somefile.txt

Я добавил опцию -i, но остались только изменения в файле (одна строка), все остальное было удалено. Так как сохранить только изменение из регулярного выражения в line to change, но не удалить все остальное?

1 Ответ

1 голос
/ 30 апреля 2020

Это то, что нужно:

perl -wlpe 's/match/CHANGE/
              if (/start here/ .. /end here/)
                  && /line to change/' somefile.txt

-p заботится о печати. ​​

Как только вы довольны результатом, вы можете добавить -i для редактирования на месте .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...