2013-01-03 255 views

回答

6

只是文件讀入到一個字符串,並使用string toupper。然後將其寫回文件。

set fp [open "somefile" r] 
set file_data [read $fp] 
close $fp 

set file_data [string toupper $file_data] 

set fp [open "somefile" "w"] 
puts -nonewline $fp $file_data 
close $fp 
+1

+1。使用[tcllib](http://tcllib.sourceforge.net/doc),我們可以這樣寫:'package require fileutil; fileutil :: writeFile somefile [string toupper [fileutil :: cat somefile]]' –

+0

謝謝@Brian Fenton,這很有幫助。但是,有沒有辦法用regsub命令做到這一點? – TheBlackCorsair

+0

我不知道用regsub做一個簡單的方法。根據這個http://wiki.tcl.tk/9384,如果你抓住PCRE庫,應該可以用\ l。 – TrojanName

2

是,上面會像魅力。

set f [string toupper $f] 

˚F是一些列表或字符串。如果你想要文件操作,像往常一樣從文件中讀取並寫入。

但如果你只是想用regsub,試試這個

set f "this is a line" 

regsub -all {.*} $f {[string toupper {&}]} f 

set f [subst -nobackslashes -novariables $f] 

現在您的內容˚F是大寫的。

注意:這僅僅選擇特定的文本是大寫或小寫

感謝時,

相關問題