Команда CAT в Linux полезна не только для создания текстовых файлов, отображения их содержимого, но и для объединения текста из двух или более текстовых файлов. Затем объединенный текст может быть сохранен в другом текстовом файле. В этом руководстве вы узнаете, как использовать команду CAT для объединения текста из двух или более файлов в один. Это поможет вам из обычного новичка превратиться в опытного пользователя Ubuntu.
В этой статье мы приведем несколько примеров, которые помогут вам понять, как правильно использовать команду CAT в следующих четырех сценариях:
- Слияние текста из нескольких текстовых файлов в один текстовый файл.
- Слияние текста из нескольких файлов и сохранение результатов в другой файл в алфавитном порядке.
- Добавление текста из одного текстового файла в другой.
- Добавление текста из терминала Ubuntu непосредственно в текстовый файл.
Хорошей практикой является резервное копирование важных файлов перед изменением их содержимого.
Пример 1: Слияние текста из трех файлов в другой текстовый файл
Мы создали в нашей системе три образца текстовых файлов с именами textfile1.txt, textfile2.txt и textfile3.txt. Все эти файлы содержат по строке текста. Следующее использование команды CAT выведет текст из всех этих файлов в одном выводе.
Откройте терминал Ubuntu, нажав CTRl+Alt+T или через Dash, а затем введите следующую команду:
1 | cat [file1.txt] [file2.txt] [file3.txt] |
На следующем изображении вы можете видеть, как вывод из моих трех текстовых файлов печатается как один объединенный вывод:
Слияние трех текстовых файлов с помощью команды cat
Linux позволяет печатать вывод команды в файл, используя следующий синтаксис:
1 | [команда] > [имя файла] |
Давайте воспользуемся этой командой и командой cat для сохранения текста из трех различных текстовых файлов в новый текстовый файл:
1 | cat [file1.txt] [file2.txt] [file3.txt] > [file4.txt] |
На следующем рисунке я сохраняю объединенный текст из трех файлов в новый файл file4.txt; затем я печатаю содержимое нового файла на экране для просмотра:
Помните, что если целевой текстовый файл уже существует в вашей системе, его содержимое будет перезаписано.
Пример 2: Слияние текста из трех файлов и сохранение результатов в другом файле в алфавитном порядке
Предположим, у вас есть три текстовых файла, каждый из которых содержит некоторый текст. Вы хотите объединить текст из всех трех файлов и сохранить результат в четвертом файле, но в алфавитном порядке. Вот как вы это сделаете:
1 | cat [file1.txt] [file2.txt] [file3.txt] | sort > [file4.txt]. |
На следующем изображении вы можете просмотреть текст из каждого из моих текстовых файлов. Если я просто объединю текст в новый файл textfile4.txt, результат будет следующим:
Однако я хочу, чтобы в мой текстовый файл был выведен отсортированный по алфавиту результат, поэтому я использую следующую команду:
1 | cat file1.txt file2.txt file3.txt | sort > file5.txt |
Вы можете видеть, как мой новый созданный файл file5.txt содержит объединенный и отсортированный текст из трех исходных файлов.
Пример 3: Добавление текста из одного текстового файла в другой
Команду cat можно также использовать для добавления текста из исходного файла в конечный файл, не испортив содержимое последнего.
Вот пример файла назначения:
Вот пример исходного файла:
Синтаксис для добавления текста:
1 | [sourcefile.txt] >> [destinationfile.txt] |
Вот как выглядит мой конечный файл после того, как я добавлю в него текст из исходного файла:
Пример 4: Добавление текста из терминала непосредственно в файл
Если вы хотите добавить некоторый текст из командной строки в конец уже существующего текстового файла, вы можете использовать следующий синтаксис:
1 | cat >> [textfile.txt] |
После ввода этой команды появится курсор для ввода текста, который вы хотите добавить в указанный файл. Введите текст и нажмите Ctrl+D. Введенный вами текст будет добавлен в конец файла, не нарушая его уже существующего содержимого.
Мы надеемся, что подробные примеры, описанные в этой статье, а также синтаксис команды cat в каждом случае помогут объединить содержимое нескольких файлов в один. Более того, вы можете выполнять сортировку и добавление текста не только из одного файла в другой, но и непосредственно из терминала Ubuntu.