我需要最快的方法,在PHP或Linux命令行中,将文本文件减少到只保留最后10个字符。为了明确起见,我需要在同一个文件上进行缩减。
谢谢:)
Shell tail
命令:
tail filename.txt --bytes 10 > filename.txt
我想这更短:)
tail -c 10 filename.txt > filename.txt
这里有一个PHP解决方案,但是,如果你不想从PHP脚本中做到这一点,最好使用shell解决方案。
搜索到文件末尾减去10个字节(假设一个字符是一个字节),然后用最后十个字符覆盖文件:
$fp = fopen('filename', 'a');
fseek($fp, -10, SEEK_END);
$data = fread($fp, 10);
fclose($fp);
file_put_contents('filename', $data);
要带来一些多样性:)
dd if=./filename.txt of=./result.txt bs=1 skip=$((`wc -c < filename.txt`-11))