我可以将 tail 与文件同时用作输入和目标吗?

我可以将 tail 与文件同时用作输入和目标吗?

我有一个日志文件,它会很快变大。我尝试使用tail这种语法,但它不起作用。

tail logfile.log -n 100000 > logfile.log

输出文件为 0 字节且为空白。我究竟做错了什么?我需要使用中间文件吗?

答案1

你可以使用这样的东西,但不推荐这样做:

{ rm logfile.log && tail -n 100000 > logfile.log ;} < logfile.log

这个更好:

tail -n 100000 logfile.log > _tmp_ &&
  mv -- _tmp_ logfile.log

相关内容