在 PHP 中使用 sed 从文本文件中删除指定范围的行号

在 PHP 中使用 sed 从文本文件中删除指定范围的行号

我正在尝试使用 exec 命令在 php 中使用 sed 命令删除行号范围。我知道如何在命令中直接替换值时使用 sed 。

exec("sed -i.bak -e '2d;12,17d;57d' $filename", $outputArray);

注意:范围将由用户选择,因此直接使用上述命令对我没有帮助;它应该是一个变量。

例如,我想要这样的东西:

<?php
$delete_from_line=35;
$delete_to_line=40;
exec("sed -i.bak -e "$delete_from_line,$delete_to_line" $filename", $outputArray);
?>

答案1

尝试这个:

<?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);
?>

看:http://php.net/manual/en/function.exec.php

相关内容