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
risposta
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-
.
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. –
Una combinazione di 'grep' e' wc' o 'lc' dovrebbe essere un buon inizio. – arkascha