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

おすすめ記事