qualche soluzione con AWK:
grep -r "string here" * | awk 'END { print NR } 1'
uno successivo è conteggio totale, il numero di file, e il numero di partite per ciascuna, visualizzando la prima partita di ciascuno (per visualizzare tutte le partite, cambiare la condizione di ++f[$1]
):
grep -r "string here" * |
awk -F: 'END { print "\nmatches: ", NR, "files: ", length(f);
for (i in f) print i, f[i] } !f[$1]++'
uscita per la prima soluzione (la ricerca all'interno di una directory per "boost::
".Ho tagliato manualmente alcune linee troppo lunghe in modo da adattarsi orizzontalmente):
list_inserter.hpp: return range(boost::begin(r), boost::end(r));
list_of.hpp: ::boost::is_array<T>,
list_of.hpp: ::boost::decay<const T>,
list_of.hpp: ::boost::decay<T> >::type type;
list_of.hpp: return ::boost::iterator_range_detail::equal(l, r);
list_of.hpp: return ::boost::iterator_range_detail::less_than(l, r);
list_of.hpp: return ::boost::iterator_range_detail::less_than(l, r);
list_of.hpp: return Os << ::boost::make_iterator_range(r.begin(), r.end());
list_of.hpp: return range(boost::begin(r), boost::end(r));
list_of.hpp: return range(boost::begin(r), boost::end(r));
list_of.hpp: return range(boost::begin(r), boost::end(r));
ptr_list_of.hpp: BOOST_DEDUCED_TYPENAME boost::ptr_...
ptr_list_of.hpp: typedef boost::ptr_vector<T> impl_type;
13
uscita per il secondo
list_inserter.hpp: return range(boost::begin(r), boost::end(r));
list_of.hpp: ::boost::is_array<T>,
ptr_list_of.hpp: BOOST_DEDUCED_TYPENAME boost::ptr_...
matches: 13 files: 3
ptr_list_of.hpp 2
list_of.hpp 10
list_inserter.hpp 1
colori nel risultato sono belle (--color=always
per grep), ma si rompono quando scende attraverso awk qui. Quindi meglio non abilitarli, a meno che tu non voglia che tutto il tuo terminale sia colorato in seguito :) Ciao!
puoi fornire maggiori dettagli come cosa non funziona esattamente? qual è il percorso completo per grep e su quale sistema stai eseguendo questo? – ennuikiller
Puoi chiarire quale output stai vedendo e in che modo ciò che desideri è diverso da quello che ottieni? – Suppressingfire