在TCL中,当文件处于连续写入操作时,是否可以删除文件的前几行或n行

在TCL中,当文件处于连续写入操作时,是否可以删除文件的前几行或n行,tcl,configure,io-buffering,Tcl,Configure,Io Buffering,下面是一段关于如何将数据写入文件的代码 设置fid[打开文件.txt w] fconfigure$fid-缓冲线 我想知道,在文件处于写入模式时,是否有任何方法可以在不关闭fileID(即fid)的情况下删除文件的前n行。由于文件的处理方式,这是不可能的。它也与Tcl/Tk语言无关,任何编程语言都不可能做到这一点 为了解决这个问题,使用了一些变通方法 例如,1读取内存中的文件;2从开头删除不需要的数据2将数据写回文件 或者:1打开原始文件进行读取2打开临时文件进行写入3跳过原始文件中不需要的数据

下面是一段关于如何将数据写入文件的代码

设置fid[打开文件.txt w] fconfigure$fid-缓冲线


我想知道,在文件处于写入模式时,是否有任何方法可以在不关闭fileID(即fid)的情况下删除文件的前n行。

由于文件的处理方式,这是不可能的。它也与Tcl/Tk语言无关,任何编程语言都不可能做到这一点

为了解决这个问题,使用了一些变通方法

例如,1读取内存中的文件;2从开头删除不需要的数据2将数据写回文件


或者:1打开原始文件进行读取2打开临时文件进行写入3跳过原始文件中不需要的数据4从原始文件中读取需要的数据并将其写入临时文件5关闭原始文件和临时文件6删除原始文件并重命名临时文件。

这是一种要求,其中“使用数据库”是正确的回答。我猜PostgreSQL是正确的选择。