Использование команды «wc -l»
Есть несколько способов подсчета строк в файле.
Но один из самых простых и широко используемых способов – использовать «wc -l».
Утилита wc отображает количество строк, слов и байтов, содержащихся в каждом входном файле, или в стандартном вводе (если файл не указан).
Синтаксис:
# wc -l [filename]
Итак, рассмотрим файл, показанный ниже:
$ cat file01.txt this is a sample file with some sample data
$ wc -l file01.txt 5 file01.txt
$ wc -l < file01.txt 5
$ cat file01.txt | wc -l 5
Использование команды awk
Если вы хотите использовать awk для определения количества строк, используйте следующую команду awk:
$ awk 'END{print NR}' [filename]
$ awk 'END{print NR}' file01.txt 5
Использование команды sed
$ sed -n '$=' [filename]
Пример вывода:
$ sed -n '$=' file01.txt 5
Использование команды grep
Наш старый добрый друг “grep” также может быть использован для подсчета количества строк в файле.
Эти примеры показаны только для того, чтобы вы знали, что существует несколько способов подсчета строк без использования “wc -l”.
Но если меня спросят, я всегда буду использовать «wc -l» вместо этих опций, так как это слишком легко запомнить.
$ grep -c ".*" [filename]
Пример вывода:
$ grep -c ".*" file01.txt 5
В GNU grep вы можете использовать следующий синтаксис grep:
$ grep -Hc ".*" [filename]
Вот еще одна версия команды grep для поиска количества строк.
$ grep -c ^ file01.txt 5
Пример вывода:
$ grep -Hc ".*" file01.txt file01.txt:5
Еще несколько команд
Наряду с приведенными выше командами полезно знать некоторые редко используемые команды для поиска количества строк в файле.
1. Используйте команду nl (фильтр нумерации строк), чтобы получить нумерацию каждой строки.
Синтаксис команды:
$ nl [filename]
Пример вывода:
$ nl file01.txt 1 this is a sample 2 file 3 with 4 some sample 5 data
Это не очень точный способ узнать количество строк.
Но вы можете использовать awk или sed для подсчета последней строки.
Например:
$ nl file01.txt | tail -1 | awk '{print $1}' 5
$ cat -n file01.txt 1 this is a sample 2 file 3 with 4 some sample 5 data
$ cat -n file01.txt | tail -1 | awk '{print $1}' 5
4. Вы также можете использовать perl, чтобы найти количество строк:
$ perl -lne 'END { print $. }' file01.txt 5
Спонсор статьи – курс валют в банках Украины