f = File.open("/test/serverlist.txt", "r")
list = f.readlines
list.each do|servers|
File.open('/test/results.txt','w') do |b|
servers.each do |p|
r = `ping -n 1 #{p}`
b.puts r
end
end它读取serverlist文件,并返回一个字符串。serverlist文件包含以下IP地址:
192.168.150.254
192.168.120.2发布于 2011-05-04 03:04:28
您是否希望读取文件中的每一行,然后执行以下操作。
fout = File.open('/test/results.txt','w')
File.open("/test/serverlist.txt", "r").each_line do |server|
server.chomp!
r = `ping -n 1 #{server}`
fout.puts r
end发布于 2011-05-04 03:14:07
我认为你不需要遍历服务器行本身,并且添加了一些样式mod和更改了ping(1)参数,我建议...
open 'serverlist.txt', 'r' do |f|
open '/tmp/results.txt', 'w' do |b|
f.readlines.each do |server|
b.puts `ping -c 1 -t 1 #{server}`
end
end
end发布于 2011-05-04 03:02:39
只需用b.write代替b.puts
https://stackoverflow.com/questions/5874183
复制相似问题