training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как подсчитать количество строк в файле выводе wc BASH

Создано: 26 апреля 2017Автор: Егор Астапов6573 просмотраСложность: легкий

Часто нужно подсчитать количество файлов при выводе в консоли BASH. Хорошо если файлов 10 штук. Как быть если их сотни и у каждого файла сложное имя. Тут идеально подойдёт команда wc. Её лучше использовать вместе с фильтром. Например с командой grep команда wc хорошо сочетается. Можно подсчитать количество слов в документе. Это редко используют.


# подсчёт данных в документе
wc text.txt 
вывод: 40     149     947 text.txt
# в первой колонке содержится количество строк, 
# во второй кол-во слов, в третьей кол-во символов

wc -l file.txt #вывести количество строк
wc -c file.txt #вывести количество байт
wc -m file.txt #вывести количество символов
wc -L file.txt #вывести длину самой длинной строки
wc -w file.txt #вывести количество слов

# подсчёт данных в выводе командной строки
# подсчёт линий
ls -al | grep '.txt' | wc -l

# подсчёт слов
ls -al | grep '.txt' | wc -w

# Подсчет количества .txt-файлов в текущем каталоге с помощью wc:
ls *.txt | wc -l

При выводе в командной строке очень часто попадают файлы с точками вместо имён .. или . .Тут нужно отфильтровать вывод и только потом применять команду wc.

Как подсчитать количество файлов в директории. Тут добавлена сортировка и удаление дублей. uniq - убирает дубли, перед unic должна идти сортировка sort


# поиск количества файлов в директории
ls | grep "name" | sort | uniq | wc -l

Удобно сочетать команду ls и wc. Подробнее о утилите ls написано в статье как вывести файлы директории в консоли при помощи ls BASH.

Комментарии

Семен: 10 марта 2019 11:58:57
У грепа есть опция считающая кол-во вхождений, поэтому вместо ls -al | grep '.txt' | wc -w можно использовать ls -al | grep -с '.txt'

Семен: 10 марта 2019 12:01:52
Блин, вместо wc -w, wc -l надо было скопировать...

реклама