解析一个文本文件,获取每 15 行和第 16 行的值

  • 本文关键字:获取 文件 文本 一个 tcl
  • 更新时间 :
  • 英文 :


所以基本上文本文件具有我想要获取的值,这些值每 15 行和第 16 行重复出现一次,用于整个文件。所以第 1-14 行是不可依赖的,那么我想获取第 15 行和第 16 行的值,然后第 17-30 行是不相关的,然后我想要第 31 行和第 32 行的值,依此类推,直到文件结束

如果您的用例允许使用命令行,这可以通过awk轻松完成:

[samiller@local ~/tmp/h] sed -n '15~16{N;p}' 1.txt
15
16
31
32

这个正则表达式(?:(.*r?n)(.*r?n)){8}K工作。每场比赛将是2行,第一个上尉组将是第一行,第二个组是第二行。演示:https://regex101.com/r/NJlcrN/1

您只需要在处理文件时保持行数

exec seq 50 > nums.txt
set fh [open nums.txt r]
set nr 0
while {[gets $fh line] != -1} {
    set nr [expr {($nr + 1) % 16}]
    if {1 <= $nr && $nr <= 14} then continue
    # do something with lines 15 & 16
    puts $line
}
close $fh
15
16
31
32
47
48

最新更新