Як поєднати текстові файли за допомогою команди cat у Linux
Команда cat дуже корисна в Linux. Він має три основні функції, пов'язані з маніпулюванням текстовими файлами: їх створення, відображення та об'єднання.
Ми обговорили використання команди cat (серед інших) для створення та перегляду текстових файлів у командному рядку у Linux. Але припустимо, що у вас є три текстові файли: file1.txt, file2.txt і file3.txt. Ви хочете поєднати (або об'єднати) їх в один текстовий файл, що містить інформацію з усіх трьох, в тому порядку. Ви також можете зробити це за допомогою команди cat.
Просто відкрийте термінал і введіть таку команду:
cat file1.txt file2.txt file3.txt
Очевидно, що замінити імена файлів у наведеному вище прикладі на власний.
У вашому терміналі з'явиться об'єднаний вміст трьох текстових файлів.
Як правило, ви, ймовірно, захочете об'єднати ці текстові файли в інший текстовий файл, а не просто надрукувати результати на екрані. На щастя, це дуже просто. Все, що вам потрібно - це додати символ перенаправлення виводу (>
) після списку файлів, які об'єднуються, а потім вкажіть ім'я кінцевого текстового файлу.
cat file1.txt file2.txt file3.txt> file4.txt
ПРИМІТКА. Файл, перерахований після символу перенаправлення виводу, буде перезаписаний, якщо він вже існує. Отже, будьте обережні, вказуючи назву комбінованого текстового файлу. Нижче ми покажемо, як додати файли до кінця існуючого файлу.
Якщо ви відкриєте файл file4.txt (або з командою cat або з текстовим редактором на ваш вибір), ви повинні побачити, що він містить текст перших трьох текстових файлів.
Якщо ви об'єднуєте списки елементів з декількох файлів, і ви хочете, щоб вони були в алфавітному порядку в об'єднаному файлі, ви можете відсортувати об'єднані елементи у отриманому файлі. Для цього введіть основний кіт
Команда, яку ми раніше показали, супроводжується командою pipe (|) і сортувати
команду. Потім введіть символ перенаправлення виводу (>
), а потім ім'я файлу, в який потрібно скопіювати об'єднаний текст. Всі рядки тексту у файлі результатів будуть відсортовані за алфавітом.
cat file1.txt file2.txt file3.txt | sort> file4.txt
Як ми вже згадували раніше, існує також спосіб додавання файлів до кінця існуючого файлу. Введіть кіт
за командою, за якою слід додати файл або файли, які потрібно додати до кінця існуючого файлу. Потім введіть два символи перенаправлення виводу (>>
), потім ім'я існуючого файлу, до якого потрібно додати.
cat file5.txt >> file4.txt
Якщо ви хочете додати трохи нового тексту до існуючого текстового файлу, використовуйте кіт
команду зробити це безпосередньо з командного рядка (замість того, щоб відкривати його в текстовому редакторі). Введіть кіт
команда, за якою слідує символ перенаправлення подвійного виводу>>
) і ім'я файлу, до якого потрібно додати текст.
cat >> file4.txt
На наступному рядку під запитом з'явиться курсор. Почніть вводити текст, який потрібно додати до файлу. Коли ви закінчите, натисніть клавішу Enter після останнього рядка, а потім натисніть Ctrl + D, щоб скопіювати цей текст до кінця файлу та вийти з кота.
Якщо у вас виникне дуже довгий файл після об'єднання текстових файлів, ви можете скористатися символом труби з командою less при перегляді файлу у вікні терміналу. Наприклад, cat file4.txt | менше
. У цій статті ми обговорюємо використання команди less.