如何在包含TAB字符的Ruby文件中打印行?

时间:2013-04-02 10:28:38

标签: ruby

我有两个文件,“test1.rb”,“test2.rb”。 “test1.rb”在第82和84行包含TAB("\t")个字符。

我想要打印出这样的内容:

test1.rb: 82 (it means that there are TAB included in the line of 82).
test1.rb: 84 (it means that there are TAB included in the line of 84).

2 个答案:

答案 0 :(得分:6)

def check_tab file
  open(file){|io| io.each_line.with_index(1){|s, l| puts "#{file}: #{l}" if s =~ /\t/}}
end
%w[test1.rb test2.rb].each{|f| check_tab(f)}

答案 1 :(得分:0)

我会这样做:

["test1.rb", "test2.rb"].each do |fn|
  File.foreach(fn) do |li|
    puts "#{ fn }: #{ $. }" if li["\t"]
  end
end

$.表示“正在读取的文件中的当前行号”。