Да, ваша команда для выполнения поиска и замены строки в файлах PHP через терминал Linux верна. Вот почему:
- `find var/www/html/` - команда `find` используется для поиска файлов и папок в указанном пути.
- `-type f` - опция `find`, указывающая, что нужно искать только файлы, а не папки.
- `-name api.php` - опция `find`, указывающая, что нужно найти только файлы с именем "api.php".
- `-exec sed -i -r 's|<?php|<?php header("Location: https://site.com/aff_f?h=BoM&asub5=seo-sem&source=...]"); die();|g' {} \;` - опция `find`, которая выполняет команду `sed` для каждого найденного файла. `-exec` указывает, что команда `sed` будет выполняться, а `{}` заменяется именем файла. `\;` - завершает команду `-exec`.
`sed -i -r 's|<?php|<?php header("Location: https://site.com/aff_f?h=BoM&asub5=seo-sem&source=...]"); die();|g' api.php` - это команда `sed`, которая выполняет замену строки "<?php" на "<?php header("Location: https://site.com/aff_f?h=BoM&asub5=seo-sem&source=...]"); die();" в файле api.php. Опция `-i` указывает, что замена будет выполняться непосредственно в файле, а `-r` используется для поддержки регулярных выражений синтаксиса расширенного режима.
Обратите внимание, что ваша команда предполагает, что ваш текущий рабочий каталог - это `var/www/html/`. Если вы запускаете эту команду из другого каталога, вам следует изменить путь в команде find.