Android

Komenda Wc w systemie Linux (policz liczbę linii, słów i znaków)

Podstawy pracy w terminalu w systemie Linux

Podstawy pracy w terminalu w systemie Linux

Spisu treści:

Anonim

W systemach operacyjnych Linux i Unix polecenie wc pozwala policzyć liczbę linii, słów, znaków i bajtów każdego podanego pliku lub standardowego wejścia i wydrukować wynik.

W tym samouczku pokażemy, jak używać polecenia wc prostych i praktycznych przykładach.

Jak korzystać z polecenia wc

Składnia polecenia wc jest następująca:

wc OPTION……

Polecenie wc może przyjmować zero lub więcej wejściowych nazw FILE . Jeśli nie określono FILE lub gdy FILE jest ustawiony na - , wc odczyta standardowe wejście. Słowo to ciąg znaków rozdzielony spacją, tabulatorem lub znakiem nowej linii.

W najprostszej formie, gdy jest używana bez żadnych opcji, polecenie wc wyświetli cztery kolumny, liczbę wierszy, słów, liczbę bajtów i nazwę pliku dla każdego pliku przekazanego jako argument. Podczas korzystania ze standardowego wejścia czwarta kolumna (nazwa pliku) nie jest wyświetlana.

Na przykład następujące polecenie wyświetli informacje o pliku wirtualnym /proc/cpuinfo :

wc /proc/cpuinfo

Dane wyjściowe będą wyglądać mniej więcej tak:

448 3632 22226 /proc/cpuinfo

  • 448 to liczba linii. 3632 to liczba słów. 22226 to liczba znaków.

Podczas korzystania ze standardowego wejścia nazwa pliku nie jest wyświetlana:

wc < /proc/cpuinfo

448 3632 22226

Aby wyświetlić informacje o więcej niż jednym pliku, przekaż nazwy plików jako argumenty oddzielone spacją:

wc /proc/cpuinfo

Polecenie poda informacje o każdym pliku i wierszu, w tym łączne statystyki:

448 3632 22226 /proc/cpuinfo 49 143 1363 /proc/meminfo 497 3775 23589 total

Poniższe opcje pozwalają wybrać, które liczby mają być drukowane.

  • -l , --lines - Wydrukuj liczbę linii. -w , --words - --words liczbę słów. -m , --chars - wyświetla liczbę znaków. -c , --bytes - --bytes liczbę bajtów. -L , --max-line-length - Wydrukuj długość najdłuższej linii.

W przypadku korzystania z wielu opcji liczby są drukowane w następującej kolejności: nowa linia, słowa, znaki, bajty, maksymalna długość linii.

Na przykład, aby wyświetlić tylko liczbę użytych słów:

wc -w /proc/cpuinfo

3632 /proc/cpuinfo

Oto kolejny przykład, który wypisze liczbę linii i długość najdłuższej linii.

wc -lL /proc/cpuinfo

448 792 /proc/cpuinfo

Opcja --files0-from=F umożliwia wc odczytanie danych wejściowych z plików określonych przez nazwy zakończone --files0-from=F NUL w pliku F Jeśli F ma wartość - odczytaj nazwy ze standardowego wejścia. Na przykład możesz wyszukiwać pliki za pomocą polecenia find i podać te pliki jako dane wejściowe do wc :

find /etc -name 'host*' -printf0 | wc -l --files0-from=-

Dane wyjściowe pokażą liczbę wierszy dla wszystkich plików w katalogu /etc których nazwy zaczynają się od „host”:

4 /etc/host.conf 27 /etc/avahi/hosts 1 /etc/hostname 14 /etc/hosts 46 total

Policz liczbę linii

Polecenie wc jest najczęściej używane z opcją -l do zliczania tylko liczby linii w pliku tekstowym. Na przykład, aby policzyć liczbę linii w /etc/passwd , wpisz:

wc -l /etc/passwd

Pierwsza kolumna to liczba wierszy, a druga to nazwa pliku:

44 /etc/passwd

Policz liczbę słów

Aby policzyć tylko liczbę słów w pliku tekstowym, użyj wc -w a następnie nazwy pliku. Poniższy przykład liczy liczbę słów w pliku ~/Documents/file.txt :

wc -l /etc/passwd

Liczba słów jest pokazana w pierwszej kolumnie:

513 /home/linuxize/Documents/file.txt

Przykłady poleceń Wc

Polecenia wc można używać w połączeniu z innymi poleceniami poprzez potokowanie. Oto kilka przykładów.

Zliczanie plików w bieżącym katalogu

Polecenie find przekazuje listę wszystkich plików w bieżącym katalogu z każdą nazwą pliku w jednym wierszu do polecenia wc , które zlicza liczbę wierszy i wypisuje wynik:

find. -type f | wc -l

Policz liczbę użytkowników

W poniższym przykładzie wc służy do zliczenia liczby wierszy z wyjścia polecenia getent .

getent passwd | wc -l

Wniosek

Polecenie wc oznacza „liczbę słów” i ma dość prostą składnię. Pozwala policzyć liczbę linii, słów, bajtów i znaków w jednym lub wielu plikach tekstowych.

terminal wc