2015-03-21 26 views
5

ho un file grande, le righe sono simili a questo numeri di testo ecc. [Man- (alcuni numeri)] è molto di questo uomo-somenum è ripetuto in poche righe, voglio contare solo parole uniche di Mans. Non posso usare file univoci, perché il testo prima delle parole di Man è sempre diverso in ogni riga. Come posso contare solo parole uniche di Man-somenumbers nel file?Come trovare parole univoche da file linux

+0

Una combinazione di 'grep' e' wc' o 'lc' dovrebbe essere un buon inizio. – arkascha

risposta

6

Se ho ben capito che cosa si vuole fare in modo corretto, quindi

grep -oE 'Man-[0-9]+' filename | sort | uniq -c 

dovrebbe fare il trucco. Funziona come segue: In primo luogo

grep -oE 'Man-[0-9]+' filename 

isolati tutte le parole dal file che corrispondono al Man-[0-9]+ espressione regolare. Tale elenco viene quindi inoltrato tramite sort per ottenere l'elenco ordinato richiesto da uniq e quindi l'elenco ordinato viene reindirizzato tramite uniq -c per contare la frequenza con cui viene visualizzata ogni singola parola Man-.

+0

Ha funzionato anche senza opzione -o. Se usato opzione -o ha detto opzione non valida. Sto usando Windows e usando i comandi all'interno di GIT BASH dall'installazione di GIT. –

Problemi correlati