如何使用替换值在tcl中读取文件并写入其他文件

如何使用替换值在tcl中读取文件并写入其他文件,tcl,Tcl,我有三个文件:Conf.txt、Temp1.txt和Temp2.txt。我已经使用正则表达式从config.txt文件中获取了一些值。我想放置这些值(在Temp1.txt和Temp2.txt中名称相同)并创建另外两个文件,即Temp1_new.txt和Temp2_new.txt 例如:在config.txt中,我有一个值称为IP1,相同的名称出现在Temp1.txt和Temp2.txt中。我想创建文件Temp1_new.txt和Temp2_new.txt,替换Temp1.txt和Temp2.tx

我有三个文件:Conf.txt、Temp1.txt和Temp2.txt。我已经使用正则表达式从config.txt文件中获取了一些值。我想放置这些值(在Temp1.txt和Temp2.txt中名称相同)并创建另外两个文件,即Temp1_new.txt和Temp2_new.txt

例如:在config.txt中,我有一个值称为IP1,相同的名称出现在Temp1.txt和Temp2.txt中。我想创建文件Temp1_new.txt和Temp2_new.txt,替换Temp1.txt和Temp2.txt中的IP1,即192.X.X.X


如果有人能帮助我使用tcl代码,我将不胜感激。

从提供的信息来看,基本上有两种方法可以实现您的愿望:

  • 文件语义感知
  • 蛮力
第一种方法是读取源文件,生成其内容的特定结构化内存表示,然后在替换生成的表示中的相关值后将此内容序列化到新文件

蛮力方法意味着将源文件的内容视为纯文本(或一系列文本字符串),并在此文本上运行类似或的操作以生成新文本,然后将其保存到新文件中

第一种方法通常应该受到青睐,特别是对于复杂的情况,因为它消除了替换不相关文本位的任何机会。蛮力方式可以简化代码编写(如果没有方便的库来完成这项工作,请参见下文),因此适合于一次性脚本


请注意,对于某些文件格式,有现成的库可用于自动化您所需的内容。例如,软件包的功能可用于操作XML文件,INI样式的文件可使用修改,等等。

与Tcl并没有太大关系,但我刚刚遇到了一个非常有趣的通用工具,用于转换具有任意语法的配置文件--