Вот мои быстрые и грязные строки.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
Это не произведение искусства или что-то еще - оно работает только в прямом американском ASCII. Регулярное выражение в основном означает «все группы печатных символов US-ASCII размером 4 и более символов». По сути, это то, что делает strings(1)
.