2012-04-03 17 views

Antwort

1

Hier ist mein Quick-and-dirty strings.rb:

#! /usr/bin/ruby 

ARGV.each do |filename| 
    File.open filename,"rb" do |f| 
     f.each_line do |line| 
      line.scan(/([\x32-\x7e]{4,})/).each {|a| puts a[0]} 
     end 
    end 
end 

Dies ist kein Kunstwerk oder etwas - es funktioniert nur in geraden US-ASCII. Die Regex bedeutet im Grunde "alle Gruppen von druckbaren US-ASCII-Zeichen der Größe 4 Zeichen oder mehr". Dies ist im Wesentlichen was strings(1) tut.