取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Observer
Observer
418 次查看
注册日期: ‎01-21-2019

如何使用TCL语言来删除文件中的某一行

转到解答

我现在想用TCL语言来打开一个文件,并且删除其中的某一行,请问该用什么语句呢

0 项奖励
1 个已接受解答

已接受的解答
Highlighted
Moderator
Moderator
409 次查看
注册日期: ‎11-05-2010

回复: 如何使用TCL语言来删除文件中的某一行

转到解答

Hi, @wuji ,

你可以尝试将原来的文件逐行处理后(沿用,修改,或者不要) 逐行写入新的文件,完成之后强制把新文件名改成原来文件名即可.

Ex: 

set fd [open "filename.txt" r]
set newfd [open "filename.txt.tmp" w]
while {[gets $fd line] >= 0} {
set newline [string map {a 0} $line]
puts $newfd $newline
}

close $fd
close $newfd
file rename -force "filename.txt.tmp" "filename.txt"

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
1 条回复1
Highlighted
Moderator
Moderator
410 次查看
注册日期: ‎11-05-2010

回复: 如何使用TCL语言来删除文件中的某一行

转到解答

Hi, @wuji ,

你可以尝试将原来的文件逐行处理后(沿用,修改,或者不要) 逐行写入新的文件,完成之后强制把新文件名改成原来文件名即可.

Ex: 

set fd [open "filename.txt" r]
set newfd [open "filename.txt.tmp" w]
while {[gets $fd line] >= 0} {
set newline [string map {a 0} $line]
puts $newfd $newline
}

close $fd
close $newfd
file rename -force "filename.txt.tmp" "filename.txt"

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励