Команда cat очень полезна в Linux. Она имеет три основные функции, связанные с манипулированием текстовыми файлами: создание, отображение и объединение.
Предположим, что у вас есть три текстовых файла: file1.txt, file2.txt и file3.txt. Вы хотите объединить (или конкатенировать) их в один текстовый файл, содержащий информацию из всех трех, в таком порядке. Это можно сделать и с помощью команды cat.
Просто откройте Терминал и введите следующую команду:
1 | cat file1.txt file2.txt file3.txt |
Разумеется, замените имена файлов в приведенном выше примере на свои собственные.
Содержимое трех текстовых файлов появится в вашем терминале.
Обычно, однако, вы, вероятно, захотите объединить эти текстовые файлы в другой текстовый файл, а не просто вывести результаты на экран. К счастью, это очень просто. Все, что вам нужно сделать, это добавить символ перенаправления вывода (>) после списка объединяемых файлов, а затем указать имя конечного текстового файла.
1 | cat file1.txt file2.txt file3.txt > file4.txt |
Файл, указанный после символа перенаправления вывода, будет перезаписан, если он уже существует. Поэтому будьте внимательны при указании имени объединенного текстового файла. Позже в этой статье мы покажем вам, как добавлять файлы в конец существующего файла.
Если вы откроете файл file4.txt (командой cat или в текстовом редакторе по вашему выбору), вы увидите, что он содержит текст первых трех текстовых файлов.
Если вы объединяете списки элементов из нескольких файлов и хотите, чтобы в объединенном файле они были расположены в алфавитном порядке, вы можете отсортировать объединенные элементы в результирующем файле. Для этого введите основную команду cat, которую мы показывали ранее, затем команду pipe (|) и команду sort. Затем введите символ перенаправления вывода (>), за которым следует имя файла, в который вы хотите скопировать объединенный текст. Все строки текста в результирующем файле будут отсортированы в алфавитном порядке.