Tente isto:
<?php
$delete_from_line=35;
$delete_to_line=40;
$filename="/path/to/your/file";
exec('sed -i.bak ' . $delete_from_line . ',' . $delete_to_line . 'd ' . $filename);
?>
Veja: link
Estou tentando excluir o intervalo de números de linha usando o comando sed no php usando o comando exec. Eu sei usar sed quando substituo valores diretamente dentro do comando.
exec("sed -i.bak -e '2d;12,17d;57d' $filename", $outputArray);
Nota: o intervalo será escolhido pelo usuário e, portanto, diretamente usando o comando acima não vai me ajudar; deve ser uma variável.
Por exemplo, eu quero algo assim:
<?php
$delete_from_line=35;
$delete_to_line=40;
exec("sed -i.bak -e "$delete_from_line,$delete_to_line" $filename", $outputArray);
?>
Tente isto:
<?php
$delete_from_line=35;
$delete_to_line=40;
$filename="/path/to/your/file";
exec('sed -i.bak ' . $delete_from_line . ',' . $delete_to_line . 'd ' . $filename);
?>
Veja: link