Командная строка: Как объединить несколько текстовых файлов в один большой файл и отсортировать в нем строки по алфавиту?

Объединение нескольких текстовых файлов в один и последующая сортировка строк — стандартная задача при работе с командной строкой. Рассмотрим решения для Linux/macOS и Windows.

**Linux / macOS (Bash)**

Для объединения файлов используется команда `cat`, а для сортировки — `sort`. Их можно объединить через конвейер (pipe):

cat file1.txt file2.txt file3.txt | sort > result.txt

Здесь `cat` объединяет содержимое всех перечисленных файлов, `sort` сортирует строки по алфавиту (по умолчанию — в порядке возрастания, с учётом локали), а `> result.txt` записывает результат в новый файл.

Если нужно объединить все `.txt`-файлы в текущей папке, используйте маску:

cat *.txt | sort > result.txt

Для сортировки без учёта регистра добавьте флаг `-f`:

cat *.txt | sort -f > result.txt

Чтобы убрать дублирующиеся строки, добавьте флаг `-u`:

cat *.txt | sort -u > result.txt

Для сортировки в обратном порядке (от Я до А) используйте `-r`:

cat *.txt | sort -r > result.txt

**Windows (командная строка CMD)**

В CMD объединение файлов выполняется через команду `type`, а сортировка — через `sort`:

type file1.txt file2.txt file3.txt | sort > result.txt

Для всех `.txt`-файлов:

type *.txt | sort > result.txt

**Windows (PowerShell)**

В PowerShell задача решается элегантнее:

Get-Content *.txt | Sort-Object | Set-Content result.txt

Для сортировки без учёта регистра:

Get-Content *.txt | Sort-Object { $_.ToLower() } | Set-Content result.txt

**Важные нюансы**

1. Убедитесь, что кодировка всех файлов совпадает (UTF-8, Windows-1251 и т.д.), иначе результат может содержать нечитаемые символы.
2. Если файлы большие, команда `sort` в Linux буферизует данные во временных файлах автоматически.
3. Команда `sort` в Linux учитывает локаль системы — для корректной сортировки кириллицы убедитесь, что установлена нужная локаль (`LC_ALL=ru_RU.UTF-8`).

Таким образом, объединение и сортировка текстовых файлов выполняется буквально одной строкой в любой операционной системе.


Задайте вопрос нейросети

Не нашли ответ? Спросите ИИ — он подготовит развёрнутую статью.