Jak policzyć liczbę wierszy w pliku tekstowym zaczynając od określonego słowa?Zliczanie linii zaczynających się od określonego słowa
Nie chcę używać sed
, a następnie. Jakieś lepsze rozwiązanie?
Jak policzyć liczbę wierszy w pliku tekstowym zaczynając od określonego słowa?Zliczanie linii zaczynających się od określonego słowa
Nie chcę używać sed
, a następnie. Jakieś lepsze rozwiązanie?
Spróbuj tego: -
awk '/^yourwordtofind/{a++}END{print a}' file
Wystarczy grep słowo, a następnie użyć wc -l policzyć linie ... jak to
grep '^your_word' /path/to/file | wc -l
jeśli musi _begin_ ze słowem. następnie 'grep '^ słowo'/path/to/file/| wc -l' – thedarkwinter
@thedarkwinter Masz rację, zapomniałeś o początkowej części. Dzięki – dostrander
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
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
... i aby zakotwiczyć wzór na początku linii, możesz użyć '^ more'. –
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 –
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
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