在tcl中删除文件中每行开头的多个空格

在tcl中删除文件中每行开头的多个空格,tcl,Tcl,我想删除文件中每行和每行开头的空格 所以用这个 set fp [open "test_one.tcl" r] set file_data [read $fp] set lines [split $file_data "\n"] regsub -all {^\s+} $lines "" 运行此命令后,文件“test_one.tcl”的所有行都会进入名为lines的列表,但我无法删除开头的空格。 请帮助我。您可以应用换行敏感的regsub命令,而不是按换行符拆分 % set fp [open "t

我想删除文件中每行和每行开头的空格 所以用这个

set fp [open "test_one.tcl" r]
set file_data [read $fp]
set lines [split $file_data "\n"]
regsub -all {^\s+} $lines ""
运行此命令后,文件“test_one.tcl”的所有行都会进入名为lines的列表,但我无法删除开头的空格。
请帮助我。

您可以应用换行敏感的
regsub
命令,而不是按换行符拆分

% set fp [open "test_one.tcl" r]
file2244890
% set file_data [read $fp]
        this is
    one of
  example
   input file

% close $fp
% regsub -line -all {^\s+} $file_data {} output
4
% puts $output
this is
one of
example
input file

%

Tcllib中有更高级别的命令用于此:

package require fileutil
package require textutil::trim

::fileutil::updateInPlace test_one.tcl ::textutil::trim::trimleft
调用后,文件包含左对齐的文本

文件:包,包