当我们在服务器端记录日志或文本数据时,有时候会有需要删除一个大文件的最后几行,这时如何才能高效实现。
上网浏览终于找到dd命令,亲测如下,删除一个32GB的日志文件最后100行仅需要4分钟
[root@game1_10 tmp]# dd of=sqq_jobs_run.log.bak seek=1 bs=$(($(stat -c%s sqq_jobs_run.log.bak)-$(tail -1 sqq_jobs_run.log.bak|wc -c)))
sqq_jobs_run.log.bak要操作的大文件, tail -n #n代表要删掉最后的几行, 这里是删掉最后一行。