2015-03-21 13 views
5

Mam duży plik, te linie wyglądają tak jak Numery tekstowe itp. [Man- (kilka liczb)] jest dużo tego Człowieka-podobieństwa jest powtórzenie w kilku linijkach, chcę liczyć tylko unikalne Mans -words. Nie mogę użyć unikalnego pliku, ponieważ tekst przed słowami Man jest zawsze różny w każdej linii. Jak mogę liczyć tylko wyjątkowe słowa Man-somenumbers w pliku?Jak znaleźć unikalne słowa z pliku linux

+0

Połączenie 'grep' i' wc' lub 'lc' powinno być dobrym początkiem. – arkascha

Odpowiedz

6

Jeśli dobrze rozumiem, co chcesz zrobić poprawnie, a następnie

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

powinno załatwić sprawę. Działa to w następujący sposób: Po pierwsze

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

izoluje wszystkie słowa z pliku, które pasują do Man-[0-9]+ wyrażenie regularne. Ta lista jest następnie przesyłana przez sort, aby uzyskać posortowaną listę wymaganą przez uniq, a następnie sortowana lista jest przesyłana przez uniq -c, aby zliczyć, jak często wyświetlane jest każde unikalne słowo .

+0

Działał bez opcji -o również. Po użyciu opcji -o wypowiedziała niepoprawną opcję. Używam okien i używam poleceń wewnątrz GIT BASH z instalacji GIT. –