【发布时间】:2013-10-04 04:47:31
【问题描述】:
我目前正在打开通过 ARGV 在运行时获取的文件:
File.open(ARGV[0]) do |f|
f.each_line do |line|
一旦找到匹配项,我就会向用户打印输出。
if line.match(/(strcpy)/i)
puts "[!] strcpy does not check for buffer overflows when copying to destination."
puts "[!] Consider using strncpy or strlcpy (warning, strncpy is easily misused)."
puts " #{line}"
end
我想知道如何打印 (ARGV[0]) 文件中匹配行的行号。
使用print __LINE__ 显示来自Ruby 脚本的行号。我尝试了print __LINE__ 的许多不同变体,使用#{line} 的不同字符串插值,但没有成功。有没有办法打印出文件中的行号?
【问题讨论】:
标签: ruby file printing line argv