将文件的每一行拆分为TCL中的新文件

时间:2014-07-12 19:57:08

标签: tcl

我正在尝试读取文件中的每一行并将该行复制到新文件中。然后第二行进入第二个文件,依此类推。我使用以下代码,但不是一行,我得到每个文件中的所有行。非常感谢提前

set fp [open "point_dip.txt" r ]
set file_data [read $fp]
set lines [split $file_data "\n"]

set ii 1

foreach line $lines {
    set filename "$ii.txt"

    set fileId [open $filename "w"]
    puts -nonewline $fileId $lines
    close $fileId

    set ii [expr $ii + 1]
}

1 个答案:

答案 0 :(得分:3)

你犯了打字错误。以下一行:

puts -nonewline $fileId $lines

应该是:

puts -nonewline $fileId $line

没有s,因为对于s,变量$lines包含所有行。

你也可以使用incr ii代替set ii [expr $ii + 1],你应该正确地缩进你的行,即使它在Tcl中没有多大关系。这只是为了提高可读性。