-1

PHPまたはLinuxコマンドシェルで、テキストファイルを最後の10文字だけを保持するように減らすための最速の方法が必要です。明確にするために、同じファイルで削減を行う必要があります。

ありがとう :)

4

4 に答える 4

4

シェルtailコマンド:

tail filename.txt --bytes 10 > filename.txt
于 2012-07-25T21:22:20.160 に答える
1

PHP ソリューションを次に示します。ただし、PHP スクリプトから実行したくない場合は、シェル ソリューションを使用することをお勧めします。

ファイルの末尾から 10 バイトを引いた位置 (1 文字を 1 バイトと仮定) までシークし、最後の 10 文字でファイルを上書きします。

$fp = fopen('filename', 'a');
fseek($fp, -10, SEEK_END);
$data = fread($fp, 10);
fclose($fp);
file_put_contents('filename', $data);
于 2012-07-25T21:21:47.363 に答える
1

これはもっと短いと思います:)

tail -c 10 filename.txt > filename.txt
于 2012-07-25T21:25:57.423 に答える
0

多様性をもたらすために:)

dd if=./filename.txt of=./result.txt bs=1 skip=$((`wc -c < filename.txt`-11))
于 2012-07-25T23:11:18.097 に答える