Вы не упоминали язык, но для Java мы любили Apache Commons CLI . Для C/C++, getopt.
Нельзя сделать с чистым CSS, вам придется смешивать его с кодом Ruby
doc = Nokogiri::HTML("<p>A paragraph <ul><li>Item 1</li><li>Apple</li><li>Orange</li></ul></p>")
p doc.css('li').select{|li|li.text =~ /Apple/}