2013-08-28 16 views

Odpowiedz

7

Spróbuj tego: -

awk '/^yourwordtofind/{a++}END{print a}' file 
+0

Istnieje również inna opcja, jeśli chcesz: - odczytać -p 'Twoje słowo >>>' wzór awk -v wzór = "$ wzór" $ 0 ~ wzór {C++} END {print c} 'plik –

+0

Jak przekazać zmienną powłoki do polecenia? Chodzi mi o to, że w przypadkach, w których muszę liczyć wiersze zawierające liczby ... poniższy skrypt nie zadziałał – user2517676

+0

dla i w {0..16}; do dla jw {0,16}; do echo A $ i B $ j grep '^ A: "$ i" B: "$ j" "plik | wc -l done done – user2517676

10

Wystarczy grep słowo, a następnie użyć wc -l policzyć linie ... jak to
grep '^your_word' /path/to/file | wc -l

+1

jeśli musi _begin_ ze słowem. następnie 'grep '^ słowo'/path/to/file/| wc -l' – thedarkwinter

+0

@thedarkwinter Masz rację, zapomniałeś o początkowej części. Dzięki – dostrander

+0

Jak przekazać zmienną powłoki do polecenia? Chodzi mi o to, że w przypadkach, w których muszę liczyć wiersze zawierające liczby ... poniższy skrypt nie zadziałał – user2517676

4
grep -c "pattern" <filename> 

Na przykład: jeśli chcesz Aby wyszukać wzór more w pliku test.txt, a następnie poniżej jest polecenie:

grep -c "more" test.txt 
+0

... i aby zakotwiczyć wzór na początku linii, możesz użyć '^ more'. –

Powiązane problemy