Продвинутые техники подсчета текста
В этом шаге вы узнаете, как комбинировать команду wc
с другими командами с использованием конвейеров (pipes) для выполнения более сложных задач анализа текста.
Использование команды wc с конвейерами
Сила команд Linux заключается в возможности комбинировать их с помощью конвейеров (|
). Конвейер отправляет вывод одной команды на вход другой команде.
Создадим более сложный текстовый файл для работы:
cat > ~/project/article.txt << EOF
Linux Text Processing
====================
Text processing is one of the fundamental skills for any Linux user.
The command line offers powerful tools for processing and analyzing text.
Some of the most common text processing commands include:
- grep: for searching text
- sed: for text transformation
- awk: for pattern scanning and processing
- wc: for counting
This article explores the wc command in detail.
EOF
Подсчет определенных строк
Вы можете использовать grep
для поиска определенных строк, а затем подсчитать их с помощью wc
:
- Подсчитайте, сколько строк содержит слово "text":
grep -i "text" ~/project/article.txt | wc -l
Опция -i
делает поиск регистронезависимым. Эта команда должна вывести:
3
Это означает, что в файле есть 3 строки, содержащие слово "text" (в любом регистре).
Подсчет слов в определенном тексте
Вы также можете подсчитывать слова в определенных частях файла:
- Подсчитайте количество слов в строках, содержащих "command":
grep "command" ~/project/article.txt | wc -w
Вывод:
14
Это говорит о том, что в строках, содержащих слово "command", есть 14 слов.
Сортировка файлов по количеству строк
Объединим то, что мы узнали, с командой sort
для организации наших файлов по количеству строк:
wc -l ~/project/*.txt | sort -n
Эта команда:
- Подсчитывает строки во всех текстовых файлах.
- Использует
sort -n
для сортировки результатов по числовому значению (по количеству строк).
Вывод будет содержать список файлов в порядке возрастания количества строк, начиная с файла с наименьшим количеством строк.
Анализ вывода команды
Вы можете использовать wc
для подсчета вывода любой команды. Например, чтобы подсчитать, сколько файлов находится в директории проекта:
ls ~/project | wc -l
Это покажет количество записей (файлов и директорий) в директории проекта.
В качестве другого примера, чтобы подсчитать, сколько процессов сейчас запущено:
ps aux | wc -l
Вывод будет содержать количество строк в списке процессов, которое включает заголовочную строку (поэтому фактическое количество процессов на единицу меньше отображаемого числа).