Ruby grep бинарные файлы? - PullRequest
2 голосов
/ 03 апреля 2012

Я использовал это до сих пор

system 'strings binary-file.dmp | grep search_string'

Есть ли что-то более "похожее на Ruby"?

1 Ответ

1 голос
/ 05 апреля 2012

Вот мои быстрые и грязные строки.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).

...