使用tcl脚本收集文件集
我希望生成一个tcl脚本,它读取文件的每一行,比如说使用tcl脚本收集文件集,tcl,Tcl,我希望生成一个tcl脚本,它读取文件的每一行,比如说abc.txt;abc.txt的每一行都是需要拾取的文件集的特定位置,注释的文件除外。 例如,abc.txthas ./pvr.vhd ./pvr1.vhd // ./pvr2.vhd /pvr.vhd ./pvr1.vhd //./pvr2.vhd 因此,我需要阅读abc.txt的每一行,从它提到的位置选取文件,并将其存储在一个单独的文件中,但以“/开头的一行除外。” 任何提示或脚本都将受到高度赞赏。通常的做法是在循环的开始处放置一个过滤器,
abc.txt
;abc.txt
的每一行都是需要拾取的文件集的特定位置,注释的文件除外。
例如,abc.txt
has
./pvr.vhd
./pvr1.vhd
// ./pvr2.vhd
/pvr.vhd
./pvr1.vhd
//./pvr2.vhd
因此,我需要阅读abc.txt的每一行,从它提到的位置选取文件,并将其存储在一个单独的文件中,但以“/
开头的一行除外。”
任何提示或脚本都将受到高度赞赏。通常的做法是在循环的开始处放置一个过滤器,用于处理导致跳过注释行的每一行。您可以使用
string match
来实际检测是否要过滤行
set f [open "abc.txt"]
set lines [split [read $f] "\n"]
close $f
foreach line $lines {
if {[string match "//*" $line]} {
continue
}
# ... do your existing processing here ...
}
当与流循环一起使用时(while{[gets$f line]>=0}{…}
)也同样有效