2016-06-30 7 views
1

ich die Räume vom Beginn der jede und Zeile einer Datei so verwendet, um diesesmehrere Räume von Start jeder Zeile in einer Datei in tcl

set fp [open "test_one.tcl" r] 
set file_data [read $fp] 
set lines [split $file_data "\n"] 
regsub -all {^\s+} $lines "" 

nach dem Ausführen dieses alle Linien entfernen möchten von Die Datei 'test_one.tcl' wird in eine Liste mit dem Namen Zeilen geladen, aber ich kann die Leerzeichen am Anfang nicht entfernen. Bitte helfen Sie mir.

Antwort

2

Anstatt mit Zeilenumbrüchen zu teilen, können Sie den Befehl newline sensitive regsub verwenden.

% 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 

% 
1

Es gibt geordnete Befehle im tcllib hierfür:

package require fileutil 
package require textutil::trim 

::fileutil::updateInPlace test_one.tcl ::textutil::trim::trimleft 

Nach diesem Aufruf der Datei enthält die linksbündigen Text.

Dokumentation: fileutil Paket, package, textutil::trim Paket