Exclui o intervalo especificado do número da linha de um arquivo de texto usando o sed dentro do PHP

1

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);
?>
    
por Abhishek J 07.01.2017 / 10:40

1 resposta

1

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

    
por 07.01.2017 / 11:12

Tags