Как посчитать количество строк в файле linux
Перейти к содержимому

Как посчитать количество строк в файле linux

  • автор:

Linux “wc” Command

The Linux “wc” command is an abbreviation for word count. The command is used to count the number of lines, words, bytes, and even characters and bytes in a text file. In this tutorial, we look at the Linux “wc” command and demonstrate practical examples of its usage.

Basic Syntax

The Linux “wc” command takes the following syntax:

The “wc” command, in its basic form, displays the output in a columnar format, as shown in the snippet below.

Let’s briefly examine what each column represents:

Column 1: Displays the number of lines existing in the text file. As observed from the output, the file has seven lines. Be advised that this accounts for both the blank and the non-blank lines.

Column 2: This prints the word count.

Column 3: This displays the number of bytes in the file.

Column 4: This is the file name of the text file.

Pass Multiple Files as Arguments in One Command

The “wc” command can also take multiple files in one command and display the statistics of each file on a separate file. Suppose you have two files, like in our example where we have two text files — fruits.txt and vegetables.txt.

Instead of using the “wc” command twice to view the statistics of each file, you can use the following syntax to accept both files as arguments.

For our example, to count the number of lines, words, and bytes in each file, run the following command:

From the output, you can see that the “wc” command displays the output of both files in a columnar output. The result of each file is placed on a separate row, and the very last row provides the total count for the lines, words, and bytes of both files.

Count the Number of Lines Only in a File

Let’s consider the text file hello.txt that we started with. Let’s recap the line, word, and character count as follows:

The -l option is used to count the number of lines only.

Print Word Count Only in a File

To display the word count in a text file, use the -w option as follows. This is relatively straightforward, and as you can see, it counts the number of words only contained in the file.

Count the Number of Bytes only in a File

To print the number of bytes only in a file, use the -c option as provided in the command below:

Count the Number of Characters Only in a File

Additionally, you can count the number of characters by passing the -m option as provided in the command below:

For more command options and usage of the “wc” command, be sure to check the man pages:

If you are interested in checking the version, simply invoke the simple command:

Conclusion

The Linux “wc” command is a really simple and easy-to-use command that gives you a clue on the number of lines, words, bytes, and characters contained in a file. For any queries, do get in touch. We will endeavor to give a prompt response.

About the author

Karim Buzdar

Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. He blogs at LinuxWays.

Команда Wc в Linux (подсчет количества строк, слов и символов)

В Linux и Unix-подобных операционных системах команда wc позволяет подсчитать количество строк, слов, символов и байтов в каждом заданном файле или стандартном вводе и распечатать результат.

В этом руководстве мы покажем вам, как использовать команду wc на простых и практических примерах.

Как использовать команду wc

Синтаксис команды wc следующий:

Команда wc может принимать ноль или более входных имен FILE . Если FILE не указан или если FILE равен — , wc будет читать стандартный ввод. Слово — это строка символов, разделенных пробелом, табуляцией или новой строкой.

В простейшей форме при использовании без каких-либо опций команда wc выводит четыре столбца, количество строк, слов, количество байтов и имя файла для каждого файла, переданного в качестве аргумента. При использовании стандартного ввода четвертый столбец (имя файла) не отображается.

Например, следующая команда отобразит информацию о виртуальном файле /proc/cpuinfo :

Результат будет выглядеть примерно так:

  • 448 — это количество строк.
  • 3632 — количество слов.
  • 22226 — количество символов.

При использовании стандартного ввода имя файла не отображается:

Чтобы отобразить информацию о более чем одном файле, передайте имена файлов в качестве аргументов, разделенных пробелом:

Команда предоставит вам информацию о каждом файле и строку, включая общую статистику:

Приведенные ниже параметры позволяют выбрать, какие счетчики будут печататься.

  • -l , —lines — Вывести количество строк.
  • -w , —words — Вывести количество слов.
  • -m , —chars — Вывести количество символов.
  • -c , —bytes — Вывести количество байтов.
  • -L , —max-line-length — Вывести длину самой длинной строки.

При использовании нескольких параметров счетчики печатаются в следующем порядке: новая строка, слова, символы, байты, максимальная длина строки.

Например, чтобы отобразить только количество слов, которые вы бы использовали:

Вот еще один пример, который напечатает количество строк и длину самой длинной строки.

Параметр —files0-from=F позволяет wc читать ввод из файлов, указанных в файле F именами, завершающимися NUL. Если F — то читать имена со стандартного ввода. Например, вы можете искать файлы с помощью команды find и предоставлять эти файлы в качестве входных данных для wc :

В выводе будет показано количество строк для всех файлов в каталоге /etc , имена которых начинаются с «host»:

Подсчитайте количество строк

Команда wc в основном используется с параметром -l для подсчета только количества строк в текстовом файле. Например, чтобы подсчитать количество строк в /etc/passwd вы должны ввести:

В первом столбце указано количество строк, а во втором — имя файла:

Подсчитайте количество слов

Чтобы подсчитать только количество слов в текстовом файле, используйте wc -w за которым следует имя файла. В следующем примере подсчитывается количество слов в файле

Количество слов показано в первом столбце:

Примеры команд Wc

wc можно использовать в сочетании с другими командами через конвейер. Вот несколько примеров.

Подсчет файлов в текущем каталоге

Команда find передает список всех файлов в текущем каталоге с каждым именем файла в одной строке команде wc , которая подсчитывает количество строк и выводит результат:

Подсчитайте количество пользователей

В приведенном ниже примере wc используется для подсчета количества строк в выводе команды getent .

Выводы

Команда wc означает «подсчет слов» и имеет довольно простой синтаксис. Он позволяет подсчитывать количество строк, слов, байтов и символов в одном или нескольких текстовых файлах.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

wc command in Linux with examples

wc stands for word count. As the name implies, it is mainly used for counting purpose.

  • It is used to find out number of lines, word count, byte and characters count in the files specified in the file arguments.
  • By default it displays four-columnar output.
  • First column shows number of lines present in a file specified, second column shows number of words present in the file, third column shows number of characters present in file and fourth column itself is the file name which are given as argument.

Syntax:

Let us consider two files having name state.txt and capital.txt containing 5 names of the Indian states and capitals respectively.

Passing only one file name in the argument.

Passing more than one file name in the argument.

Note : When more than file name is specified in argument then command will display four-columnar output for all individual files plus one extra row displaying total number of lines, words and characters of all the files specified in argument, followed by keyword total. Options: 1. -l: This option prints the number of lines present in a file. With this option wc command displays two-columnar output, 1st column shows number of lines present in a file and 2nd itself represent the file name.

2. -w: This option prints the number of words present in a file. With this option wc command displays two-columnar output, 1st column shows number of words present in a file and 2nd is the file name.

3. -c: This option displays count of bytes present in a file. With this option it display two-columnar output, 1st column shows number of bytes present in a file and 2nd is the file name.

4. -m: Using -m option ‘wc’ command displays count of characters from a file.

5. -L: The ‘wc’ command allow an argument -L, it can be used to print out the length of longest (number of characters) line in a file. So, we have the longest character line Arunachal Pradesh in a file state.txt and Hyderabad in the file capital.txt. But with this option if more than one file name is specified then the last row i.e. the extra row, doesn’t display total but it display the maximum of all values displaying in the first column of individual files. Note: A character is the smallest unit of information that includes space, tab and newline.

6. –version: This option is used to display the version of wc which is currently running on your system.

Applications of wc Command

1. To count all files and folders present in directory: As we all know ls command in unix is used to display all the files and folders present in the directory, when it is piped with wc command with -l option it display count of all files and folders present in current directory.

2. Display number of word count only of a file: We all know that this can be done with wc command having -w option, wc -w file_name, but this command shows two-columnar output one is count of words and other is file name.

So to display 1st column only, pipe(|) output of wc -w command to cut command with -c option. Or use input redirection(<).

Количество строк в файле Linux

Несмотря на то, что утилиты с графическим интерфейсом гораздо удобнее в использовании и адаптированы под высокие разрешения, в терминале можно делать многие вещи гораздо быстрее. Например, утилита wc просто подсчитывает количество строк в файле.

Но само количество строк мало о чём говорит, поэтому совмещение нескольких команд позволяет считать строки с учётом требуемых параметров. Мы рассмотрим несколько примеров как подсчитать количество строк в файле linux с использованием таких команд, как grep, sed и awk.

Как узнать количество строк в файле Linux

Команду wc мы уже рассматривали, нас интересует только параметр -l. В общем случае он считает количество переходов на новую строку, поэтому учитываются все строки, в том числе пустые. С этой задачей она справится быстрее остальных команд, таких как grep, sed, awk. Но эти команды способны подсчитать строки с заданным условием.

grep -c $ имя_файла

sed -n \$= имя_файла

awk ‘END< print NR >‘ имя_файла

AqGoFBlBCTKtAAAAAElFTkSuQmCC

Как видите, результат один и тот же, только вот команда wc потратила на порядок меньше времени. Поэтому остальные команды стоит использовать для более сложных запросов. Рассмотрим несколько примеров.

Команда grep поможет найти строки только с нужным текстом:

grep -c ‘текст’ имя_файла

8A62d1kmc3P0EAAAAASUVORK5CYII=

Команда grep умеет работать с регулярными выражениями и объединять условия с помощью операторов И, ИЛИ, НЕ.

Команда sed умеет обрабатывать текст, но проще всего посчитать количество результирующих строк командой wc. Например, можно удалить все строки длиной менее 3 символов, а в более сложных случаях подсчитать количество строк без комментариев.

sed -r ‘/^.<,3>$/d’ имя_файла | wc -l

fg5OD0lcpdXij1N4GvO96cP2YrOSLd1jgaz5Z6f409cwWD7KbC9SBFQKE8q3qwOxA8B90h2zd9n43yyUlxuRACpVAAAAAElFTkSuQmCC

Столь простой пример можно было выполнить и другими командами. Синтаксис команды awk в этом случае гораздо понятнее.

awk ‘length >3’ имя_файла | wc -l

LAVrPAAAAAElFTkSuQmCC

Другим примером использования команды awk может стать подсчёт строк с поиском нужного значения в табличном файле csv. В этом примере мы подсчитали количество строк, у которых значение второго параметра больше 50.

awk ‘$2+0 > 50’ имя_файла | wc -l

TfjosanWKa3QwAAAABJRU5ErkJggg==

Мы добавили 0 к выражению неспроста, он позволяет отсеять нечисловые выражения.

Выводы

Теперь вы знаете как посчитать количество строк в файле linux. К плюсам подсчёта количества строк с помощью консольных команд можно отнести универсальность и скорость работы. Мы рассмотрели далеко не все команды, способные подсчитать количество строк, есть tr, nl, не говоря уже о языках программирования, вроде PERL. Но имеются и существенные минусы, например, сложный синтаксис регулярных выражений, внести изменения в команду порой сложнее, чем написать её заново.

Если правильно подойти к подсчёту строк, то он может стать основой для сбора статистики и оценки файлов. Как вы могли убедиться, одну и ту же задачу можно выполнить нескольким способами, поэтому выбирайте наиболее подходящую команду.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *