как сделать SED-замену без файла резервной копии, если исходный файл не изменился? если файл не был изменен - PullRequest
0 голосов
/ 21 апреля 2020

Я хотел бы сохранить файл резервной копии, только если sed изменил исходный файл.

например: у меня есть следующий файл:

# cat test
This is example file
abcd
efgh

обработать с помощью sed, поэтому нечего менять:

# sed -i.BAK "s/AAAA/BBBB/" test

Файл "test" не является изменилось, потому что ничего не совпало. В этом случае я бы хотел избегать файла резервной копии, который был создан:

# md5sum test*
d3ca57583595576338ad6f9a01276cd5  test
d3ca57583595576338ad6f9a01276cd5  test.BAK

1 Ответ

0 голосов
/ 27 апреля 2020

Я узнал, что то, что я спрашивал, не возможно с помощью "sed", как я подозревал RTFM

Я решил добавить «if [grep ...]» в выражение, которое нужно заменить. «Sed» выполняется тогда и только тогда, когда выражение существует.

Спасибо за комментарии.

...