Как объединить текстовые файлы с помощью команды «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
ПРИМЕЧАНИЕ. Файл, указанный после символа перенаправления вывода, будет перезаписан, если он уже существует. Поэтому будьте внимательны при указании имени объединенного текстового файла. Позже в этой статье мы покажем вам, как добавлять файлы в конец существующего файла.
Если вы откроете файл 4.txt (либо с помощью команды cat, либо в текстовом редакторе по вашему выбору), вы обнаружите, что он содержит текст первых трех текстовых файлов.
Если вы объединяете списки элементов из нескольких файлов и хотите расположить их в алфавитном порядке в объединенном файле, вы можете отсортировать объединенные элементы в результирующем файле. Для этого введите базовую команду cat
, которую мы показали вам ранее, а затем команду вертикальной черты (|) и команду sort
. Затем введите символ перенаправления вывода (>
), а затем имя файла, в который вы хотите скопировать объединенный текст. Все строки текста в результирующем файле будут отсортированы по алфавиту.
cat file1.txt file2.txt file3.txt | sort > file4.txt
Как мы упоминали ранее, существует также способ добавления файлов в конец существующего файла. Введите команду cat
, а затем файл или файлы, которые вы хотите добавить в конец существующего файла. Затем введите два символа перенаправления вывода (>>
), а затем имя существующего файла, в который вы хотите добавить.
cat file5.txt >> file4.txt
Если вы хотите добавить немного нового текста в существующий текстовый файл, используйте команду cat
, чтобы сделать это непосредственно из командной строки (вместо открытия в текстовом редакторе). Введите команду cat
, затем двойной символ перенаправления вывода (>>
) и имя файла, в который вы хотите добавить текст.
cat >> file4.txt
Курсор появится на следующей строке под приглашением. Начните вводить текст, который хотите добавить в файл. Когда вы закончите, нажмите Enter после последней строки, а затем нажмите Ctrl+D, чтобы скопировать этот текст в конец файла и закрыть cat.
Если после объединения текстовых файлов у вас получится очень длинный файл, вы можете использовать символ вертикальной черты с командой less при просмотре файла в окне терминала. Например, cat file4.txt | меньше
. Мы обсудим использование команды less в этой статье.
Linux Commands | ||
Files | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc | |
Processes | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap | |
Networking | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
RELATED: Best Linux Laptops for Developers and Enthusiasts