Добавить файл в файл linux

Обновлено: 07.07.2024

У меня есть два файла: файл1 и файл2. Как добавить содержимое файла2 в файл1, чтобы содержимое файла1 сохранялось в процессе?


8 ответов 8



@BijayRungta: Похоже, вы сами ответили на свой вопрос. Вы должны добавить sudo к команде cat (и ввести учетные данные, если будет предложено).

вы должны . chmod 777 /etc/default/docker, чтобы дать себе права на запись в этот файл — после этого обязательно восстановите старые права доступа к файлу

@Sigur: Если нет способа направить вывод в два файла одновременно, это потребует двух вызовов команды.

@Sigur или взгляните на программу tee: cat 1 | тройник -а 2 3 . Вы можете поместить сколько угодно файлов после переключателя --append (или -a для краткости).

каталог файл2 >> файл1

Оператор >> добавляет выходные данные в именованный файл или создает именованный файл, если он не существует.

cat файл1 файл2 > файл3

Это объединяет два или более файлов в один. У вас может быть столько исходных файлов, сколько вам нужно. Например,

cat *.txt >> новый файл.txt

Обновление 20130902
В комментариях Юмиро предлагает «не пытайтесь использовать cat файл1 файл2 > файл1 ». Причина, по которой это может не привести к ожидаемому результату, заключается в том, что файл, получающий перенаправление, подготавливается до выполнения команды слева от >. В этом случае первый файл file1 усекается до нулевой длины и открывается для вывода, затем команда cat пытается объединить файл нулевой длины с содержимым файла file2 в файл file1. В результате исходное содержимое файла1 теряется, а его место занимает копия файла2, что, вероятно, не соответствует ожидаемому.

Перед выполнением команды ее ввод и вывод могут быть перенаправлены с использованием специальной нотации, интерпретируемой оболочкой.

Хотя это и сообщает читателю то, что ему нужно знать, его легко пропустить, если вы не ищете его и не анализируете утверждение слово за словом. Самое важное слово здесь — «до». Перенаправление завершается (или не выполняется) до выполнения команды.

В примере cat файл1 файл2 > файл1 оболочка сначала выполняет перенаправление, чтобы дескрипторы ввода-вывода находились на месте в среде, в которой будет выполняться команда, до ее выполнения.

Более удобную версию, в которой подробно рассматривается приоритет перенаправления, можно найти на веб-сайте Яна Аллена в виде учебных курсов по Linux. На его странице I/O Redirection Notes можно многое сказать по этой теме, включая наблюдение, что перенаправление работает даже без команды. Передача этого в оболочку:

<р>. создает пустой файл с именем out. Оболочка сначала настраивает перенаправление ввода-вывода, затем ищет команду, не находит ее и завершает операцию.

В Linux при работе с файлами в терминале иногда нам нужно добавить одни и те же данные вывода команды или содержимого файла. Добавить означает просто добавить данные в файл, не стирая существующие данные. Сегодня мы увидим, как мы можем добавить текст в файл на терминале.

Использование >> оператора:

Оператор >> перенаправляет вывод в файл. Если указанный файл не существует, файл создается, а затем текст добавляется к файлу.

Примеры:

Мы можем использовать команду echo для добавления текста в файл, например

Как добавить текст в конец файла в Linux

В качестве альтернативы мы можем использовать команду printf для добавления текста в файл.

Как добавить текст в конец файла в Linux

Мы также можем использовать команду cat для добавления содержимого одного файла в другой файл.

Пример:

В этом примере мы должны добавить содержимое файла file1.txt к файлу file2.txt

Как добавить текст в конец файла в Linux

Примечание. Не используйте > или >> Это приведет к удалению данных целевого файла. Это может привести к потере данных.

Использование команды tee:

Команда tee копирует текст из стандартного ввода и записывает его в стандартный выходной файл. Тройник предоставляет возможность добавления текста в файл.

Как добавить текст в конец файла в Linux

Мы также можем добавить содержимое файла в другой файл с помощью команды tee

Пример:

В этом примере мы должны добавить содержимое файла file1.txt к файлу file2.txt

В Linux существует шесть основных способов создания файлов. Все они имеют свое предназначение и преимущества. Они следующие:

1. кошачья команда

Это наиболее универсальная команда/инструмент для создания файлов в системах Linux. Мы не можем редактировать файл с помощью команды cat. Основные операции, которые можно выполнить с его помощью, следующие:

Чтобы создать файлы и записать в них данные

Эта команда создает новый файл file1 (в режиме записи), если он не существует в текущем рабочем каталоге. Если в текущем каталоге существует какой-либо файл с именем файла1, он перезаписывается.

Примечание. После записи текста в файл нажмите ctrl+d, чтобы сохранить и выйти из режима записи.

a.) создание файлов, а затем запись данные

Чтобы просмотреть содержимое файла

Эта команда просто выводит содержимое файла1 на экран терминала.

Для просмотра данных файла

Объединить файлы — добавить содержимое двух файлов в новый или существующий файл

Эта команда создает новый файл файл3 с содержимым файлов файл1 и файл2, если файл3 не существует в текущем рабочем каталоге. Если в текущем каталоге существует файл с именем файл3, то он перезаписывается содержимым файлов файл1 и файл2.

Объединение файлов — добавление двух файлов в другой новый файл

Чтобы добавить содержимое в конец файла

Эта команда создает новый файл file2 (в режиме записи), если он не существует в текущем рабочем каталоге. Если в текущем каталоге существует какой-либо файл с именем файла2, то он открывается (в режиме добавления).

Добавление данных в конец файла

Чтобы скопировать данные файла (содержимое одного файла в другой)

Эта команда создает новый файл файл2 с содержимым файла1, если файл2 не существует в текущем рабочем каталоге. Если в текущем каталоге существует файл с именем файл2, то он перезаписывается содержимым файла1.

Копировать файл

Чтобы изменить данные файла (tac)

Обратить данные файла (tac)

2. сенсорная команда

С помощью этой команды мы можем создать пустой файл (или несколько пустых файлов). Но его основная цель — изменить или обновить временную метку файла. Основные операции, которые можно выполнить с его помощью, следующие:

Создание файла

Примечание. Создайте файл, а затем используйте команду cat для просмотра данных.

Создание файла

Чтобы изменить временную метку файла

Примечание. Мы используем stat имя_файла для проверки временной метки файла. Мы видим, что доступ, изменение и изменение теперь обновлены.

Чтобы изменить временную метку ширины файла

Изменить только время доступа

Время доступа — это время последнего доступа к файлу.

Изменить только время доступа

Изменить только время модификации

Время изменения — это время, когда файл был изменен.

Изменить только время модификации

3. команда vi

Его основная функция — редактировать файлы. Он обычно используется программистами для редактирования текстового содержимого любого файла в текстовом редакторе vi. Основные операции, которые можно выполнить с его помощью, следующие:

Примечание. Чтобы сохранить текстовый редактор vi и выйти из него, нажмите клавишу Escape, затем введите :wq и нажмите Enter.

Создать файл

Эта команда создает новый файл file_1 и открывает его в текстовом редакторе vi, если он не существует в текущем рабочем каталоге.Если файл с именем файла file_1 существует в текущем каталоге, эта команда просто открывает файл в текстовом редакторе vi.

Создать файл

Создать файл

Создать файл

Открыть и отредактировать файл

Открыть и отредактировать файл

4. нано команда

Его можно найти или не найти во всех дистрибутивах LINUX. Мы можем создавать и редактировать файлы.

Примечание. Чтобы выйти из текстового редактора nano, нажмите ctrl + x.

4. nano command.

4. nano command.

4. nano command.

5. команда gedit

Пользователи Linux обычно используют интерфейс командной строки (CLI) для записи или редактирования текстовых файлов. Но если мы хотим графически отредактировать текстовый файл на компьютерах с Linux, не изучая мощные редакторы, такие как vim и nano, тогда текстовый редактор gedit облегчит нам задачу.

“gedit” означает текстовый редактор GNOME. Это стандартный текстовый редактор по умолчанию, который можно найти в любой системе со средой рабочего стола GNOME, включая Ubuntu, Fedora, Debian, CentOS и Red Hat. Используя gedit, мы можем создавать, а также записывать/редактировать текстовые файлы.

Создать файл



Эта команда создает новый файл file_2 (в режиме записи) в текстовом редакторе gedit, если он не существует в текущем рабочем каталоге. Если какой-либо файл с именем файла file_2 существует в текущем каталоге, он открывается (в режиме редактирования) в текстовом редакторе gedit.

Примечание. Чтобы снова использовать терминал, нажмите Ctrl + C.

Открыть и отредактировать файл

Когда мы создаем или редактируем файл с помощью команды gedit, по умолчанию файл открывается в текстовом редакторе gedit и ждет, пока он закроется, прежде чем он вернет вас в окно терминала. Если вы хотите использовать окно терминала при открытом текстовом редакторе gedit, вместо этого запустите gedit с помощью следующей команды.

Эта команда открывает текстовый редактор gedit в качестве фоновой задачи. Мы сразу получаем приглашение командной строки и продолжаем использовать окно терминала, даже когда запущен текстовый редактор gedit.


6. команда mv

Обычно мы используем команду mv для перемещения файлов или каталогов из одного места в другое в системах Linux. Но мы также можем использовать его для создания новых файлов с содержимым какого-либо другого файла в системе.

Эта команда создает новый файл файл_3 с содержимым файла_2, если файл_3 не существует в текущем рабочем каталоге. Если какой-либо файл с именем файла file_3 существует в текущем каталоге, он перезаписывается содержимым файла file_2.


Примечание. Эта команда копирует содержимое файла_2 в файл_3 и удаляет файл_2.

< бр />

Лори Кауфман


Лори Кауфман
Писатель

Лори Кауфман – специалист по технологиям с 25-летним опытом работы. Она была старшим техническим писателем, работала программистом и даже управляла собственным бизнесом в нескольких местах. Подробнее.


Команда cat очень полезна в Linux. У него есть три основные функции, связанные с управлением текстовыми файлами: их создание, отображение и объединение.

Мы обсудили использование команды cat (среди прочего) для создания и просмотра текстовых файлов в командной строке в Linux.Но давайте предположим, что у вас есть три текстовых файла: file1.txt, file2.txt и file3.txt. Вы хотите объединить (или объединить) их в один текстовый файл, содержащий информацию из всех трех, в указанном порядке. Вы также можете сделать это с помощью команды cat.

Просто откройте терминал и введите следующую команду:

Очевидно, замените имена файлов в приведенном выше примере своими собственными.

В терминале появится объединенное содержимое трех текстовых файлов.


Обычно, однако, вы, вероятно, захотите объединить эти текстовые файлы в другой текстовый файл, а не просто вывести результаты на экран. К счастью, это очень просто. Все, что вам нужно сделать, это добавить символ перенаправления вывода ( > ) после списка объединяемых файлов, а затем указать имя конечного текстового файла.

ПРИМЕЧАНИЕ. Файл, указанный после символа перенаправления вывода, будет перезаписан, если он уже существует. Поэтому будьте внимательны при указании имени объединенного текстового файла. Позже в этой статье мы покажем вам, как добавлять файлы в конец существующего файла.

Если вы откроете файл 4.txt (либо с помощью команды cat, либо в текстовом редакторе по вашему выбору), вы обнаружите, что он содержит текст первых трех текстовых файлов.


Если вы объединяете списки элементов из нескольких файлов и хотите расположить их в алфавитном порядке в объединенном файле, вы можете отсортировать объединенные элементы в результирующем файле. Для этого введите базовую команду cat, которую мы вам показывали ранее, а затем команду канала (|) и команду sort. Затем введите символ перенаправления вывода ( > ), а затем имя файла, в который вы хотите скопировать объединенный текст. Все строки текста в результирующем файле будут отсортированы по алфавиту.


Как мы упоминали ранее, существует также способ добавления файлов в конец существующего файла. Введите команду cat, а затем файл или файлы, которые вы хотите добавить в конец существующего файла. Затем введите два символа перенаправления вывода ( >> ), а затем имя существующего файла, в который вы хотите добавить.


Если вы хотите добавить немного нового текста в существующий текстовый файл, используйте команду cat, чтобы сделать это непосредственно из командной строки (вместо открытия в текстовом редакторе). Введите команду cat, за которой следует двойной символ перенаправления вывода ( >> ) и имя файла, в который вы хотите добавить текст.

Курсор появится на следующей строке под подсказкой. Начните вводить текст, который хотите добавить в файл. Когда вы закончите, нажмите Enter после последней строки, а затем нажмите Ctrl+D, чтобы скопировать этот текст в конец файла и закрыть cat.


Если после объединения текстовых файлов у вас получится очень длинный файл, вы можете использовать символ вертикальной черты с командой less при просмотре файла в окне терминала. Например, cat file4.txt | меньше . В этой статье мы обсудим использование команды less.

< /tbody>
Команды Linux
Файлы 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
Процессы alias · screen · top · nice · renice · прогресс · strace · systemd · tmux · chsh · история · at · пакетное · бесплатное · которое · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · стена · yes · kill · спать · sudo · su · время · groupadd · usermod · группы · lshw · выключение · перезагрузка · halt · poweroff · passwd · lscpu · crontab · date · bg · fg
Сеть netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · копать · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw
  • › Как установить Google Play Маркет в Windows 11
  • › Почему прозрачные чехлы для телефонов желтеют?
  • ›5 шрифтов, которые следует прекратить использовать (и лучшие альтернативы)
  • › Как восстановить метки панели задач в Windows 11
  • › Почему не было Windows 9?
  • › Что означает XD и как вы его используете?

Читайте также: