我正在尝试使用 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);
?>