-1

我需要在 PHP 或 Linux Command Shell 中使用最快的方法来减少文本文件以仅保留最后 10 个字符。需要明确的是,我需要在同一个文件上进行缩减。

谢谢 :)

4

4 回答 4

4

外壳tail命令:

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

我想这更短:)

tail -c 10 filename.txt > filename.txt
于 2012-07-25T21:25:57.423 回答
1

这是一个 PHP 解决方案 - 但是,如果您不想从 PHP 脚本执行此操作,最好使用 shell 解决方案。

查找文件末尾减去 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 回答
0

带来一些多样性:)

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