В файле есть несколько слов с цифрами в начале.я хочу извлечь конкретную строку без строки. Когда дано 1, он извлекает строку 1 также с 11, 21
FILE.txt имеет содержимое:
1.sample
lines of
2.sentences
present in
...
...
10.the
11.file
когда Выполнено pro 1 file.txt
дает результатыиз строки 1,10, а также из строки 11, поскольку эти три результата имеют 1 в своей строке.т.е.
Вывод сценария:
1.sample
10.the
11.file
Ожидаемый вывод: ожидаемый вывод - это только содержимое строки 1, а не содержимое строки 10 или строки 11.т.е.
Ожидаемый результат:
1.sample
Мой текущий код:
proc pro { pattern args} {
set file [open $args r]
set lnum 0
set occ 0
while {[gets $file line] >=0} {
incr lnum
if {[regexp $pattern $line]} {
incr occ
puts "The pattern is present in line: $lnum"
puts "$line"
} else {
puts "not found"
}
}
puts "total number of occurencese : $occ"
close $file
}
программа работает нормально, но дело в том, что я получаю строки, которые я не хочувместе с ожидаемой линией.Поскольку число (1), которое я хочу получить, присутствует в других строках, таких как 11, 21, 14 и т. Д., Эти строки также печатаются.
будьте добры терпеть мой неясный способ объяснения вопроса.