Jak liczyć wiersze pliku według wiersza poleceń
Spisu treści:
- Jak zliczać wiersze plików z terminala za pomocą wc
- Jak liczyć wiersze danych wyjściowych przesyłanych potokiem za pomocą wc
Chcesz uzyskać liczbę wierszy pliku tekstowego lub dokumentu? Liczenie wierszy dowolnego pliku jest łatwe w wierszu poleceń, a polecenie liczenia wierszy jest takie samo we wszystkich nowoczesnych systemach operacyjnych opartych na Uniksie, co oznacza, że ta sztuczka zliczania wierszy będzie działać tak samo w systemach Mac OS i Mac OS X, Linux, BSD, a nawet Windows z powłoką Bash.
Do naszych celów użyjemy najbardziej bezpośredniego narzędzia do liczenia linii dostępnego w wierszu poleceń, wc. Narzędzie wc jest w stanie wyświetlić liczbę linii, a także ujawnić liczbę słów i liczbę znaków. Skupiamy się tutaj oczywiście na tym pierwszym, więc pokażemy, jak używać wc do liczenia wierszy dowolnego pliku tekstowego podanego jako dane wejściowe.
wc definiuje linię jako „ciąg znaków rozdzielony znakiem nowej linii”, co oznacza, że tylko unikalne nowe linie będą liczone jako linia. Więc jeśli w pliku nie ma znaków nowego wiersza, a plik jest tylko jednym wielkim zdaniem lub pojedynczym ciągiem poleceń, zostanie zgłoszony jako jeden wiersz.
Jak zliczać wiersze plików z terminala za pomocą wc
- Otwórz okno Terminala, jeśli jeszcze tego nie zrobiłeś (w Mac OS aplikacja Terminal znajduje się w /Applications/Utilities/)
- W wierszu polecenia wprowadź następującą składnię polecenia, zastępując „nazwa pliku” plikiem, dla którego chcesz policzyć wiersze
- Wciśnij Return, zobaczysz liczbę wierszy pliku wydrukowaną przed nazwą pliku
wc -l nazwa_pliku
Jak zapewne się domyślasz, flaga -l (mała litera L) oznacza „linię”.
Na przykład uruchomienie polecenia wc -l w pliku znajdującym się na pulpicie o nazwie „exampleFileToCountLines.txt” wyglądałoby następująco:
% wc -l ~/Desktop/exampleFileToCountLines.txt 1213 /Users/Paul/Desktop/exampleFileToCountLines.txt
Jak widać w tym przykładzie, liczba linii podanego pliku tekstowego wynosi 1213, co oznacza, że plik ma 1213 linii.
Polecenie wc działa tak samo w każdym nowoczesnym systemie operacyjnym opartym na Uniksie, w tym Mac OS, Linux, FreeBSD, Windows z Bash i innych.
Używanie wc do liczenia wierszy, słów i znaków w pliku
Możesz także uruchomić polecenie wc bez opcji -l, która wyświetli liczbę wierszy, liczbę słów i liczbę znaków w tej kolejności. Tak jak:
wc /etc/hosts 9 32 214 /etc/hosts
Porównaj dane wyjściowe tego polecenia z tym samym poleceniem tylko z flagą wc -l:
wc -l /etc/hosts 9 /etc/hosts
To tylko zlicza wiersze pliku tekstowego jako dane wejściowe iw ogóle nie modyfikuje pliku. Jeśli chcesz zmodyfikować plik, możesz ręcznie dodać numery linii do pliku tekstowego za pomocą wiersza poleceń.
Jak liczyć wiersze danych wyjściowych przesyłanych potokiem za pomocą wc
Możesz także użyć wc do zliczenia wierszy dowolnych danych, które są do niego przesyłane, na przykład z cat lub ls:
cat /etc/hosts | wc -l
Wyjściem w tym scenariuszu będzie po prostu liczba wierszy w pliku, na przykład „9”.
Polecenie wc jest całkiem fajne, możesz przeczytać stronę podręcznika dla wc, aby uzyskać jeszcze więcej pomysłów i sztuczek dotyczących użycia.
Oczywiście wszystko to jest dostosowane do wiersza poleceń, ale są też inne sposoby uzyskiwania liczby wierszy i znaków w plikach.
Możesz ręcznie policzyć je dla krótkich plików, aplikacje Mac innych firm, takie jak BBEdit, domyślnie pokazują numer linii, a jeśli masz małego kuzyna BBEdit, znanego jako TextWrangler, możesz zacząć pokazywać numery linii również w TextWranglerze. Możesz także stworzyć narzędzie do samodzielnego tworzenia słów i liczników znaków dla komputera Mac jako usługę. A jeśli znasz już numer wiersza pliku, do którego chcesz uzyskać dostęp, możesz przejść bezpośrednio do określonego numeru wiersza w TextEdit, choć niestety TextEdit nie pokazuje numerów wierszy, co wydaje się być niedopatrzeniem.