LINUX.ORG.RU

История изменений

Исправление Xenius, (текущая версия) :

Там нет спецсимвола потому что, регексп ловит только строки с цифрой без символа.

Надо так:

#!/usr/bin/env tclsh

set fn [file normalize [lindex $argv 0]]
if {![file exist $fn]} {
	puts stderr "Error: File does not exist: `$fn`"
	puts stderr "Usage: $argv0 filename"
	exit 1
}

set fd [open $fn r]
set data [read $fd]
close $fd

set result {}
foreach line [split $data \n] {
	if {[regexp {^rgb\d+[!-/:-@[-`{|}~]} $line]} {
		lappend result $line
	}
}

puts [join $result \n]

Строки с rgb123% hello, где цифр несколько, должны входить в набор или нет? Если нет, то убери + после \d в регекспе.

Исправление Xenius, :

Там нет спецсимвола потому что, регексп ловит только строки с цифрой без символа.

Надо так:

#!/usr/bin/env tclsh

set fn [file normalize [lindex $argv 0]]
if {![file exist $fn]} {
	puts stderr "Error: File does not exist: `$fn`"
	puts stderr "Usage: $argv0 filename"
	exit 1
}

set fd [open $fn r]
set data [read $fd]
close $fd

set result {}
foreach line [split $data \n] {
	if {[regexp {^rgb\d+[!-/:-@[-`{|}~]} $line]} {
		lappend result $line
	}
}

puts [join $result \n]

Исправление Xenius, :

Там нет спецсимвола потому что, регексп ловит только строки с цифрой без символа.

Надо так:

#!/usr/bin/env tclsh

set fn [file normalize [lindex $argv 0]]
if {![file exist $fn]} {
	puts stderr "Error: File does not exist: `$fn`"
	puts stderr "Usage: $argv0 filename"
	exit 1
}

set fd [open $fn r]
set data [read $fd]
close $fd

set result {}
foreach line [split $data \n] {
	if {[regexp {^rgb\d+[!-/:-@[-`{|}~]} $line]} {
		lappend result $line
	}
}

puts [join $result \n]

Исходная версия Xenius, :

Там нет спецсимвола потому что, регексп ловит только строки