【发布时间】:2015-05-21 09:07:30
【问题描述】:
我有一个设备列表:
- ipc-bei640-r-br-01
- ipc-bei640-r-br-02
- ipc-bei640-r-br-03
- ipc-bei640-r-br-04
- ipc-bei640-r-br-05
- ipc-bem640-r-br-01
- ipc-bem640-r-br-02
- ipc-bem640-r-br-03
- ipc-crg660-r-br-02
- ipc-geb680-r-br-04
- ipc-lgv630-r-br-01
这个小的 ruby 小脚本计算文件的行数 braslist.txt 使用正则表达式对其进行扫描并将结果写入一个名为“strippedfile.txt”的新文件
lines = IO.readlines("/usr/local/bin/braslist.txt")
# Linecount is forwarded to StdOut.
puts lines.length
str = File.read('braslist.txt')
file_name = ['strippedfile.txt']
file_name.each do |file_name|
text = File.read(file_name)
new_contents = str.scan(/^ipc-(?<bng>[a-z]{3}\d{3})-r-br(?<nr>-\d{2})$/)
# open and write to a file with ruby
open('strippedfile.txt', 'w') { |f|
f.print new_contents
}
end
现在我似乎无法修复,在新文件“strippedfile”中,结果总是 ["bei640", "-01"] ["bei640", "-02"] ["bei640", "- 03"]
我正在尝试以这种格式获得所有结果:
- bei640-01
- bei640-02
- bei640-03
- bei640-04
【问题讨论】: