Меню Рубрики

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

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

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

Вы можете добиться этого, используя несколько методов в Linux, но самый простой — перенаправить вывод команды на желаемое имя файла. Используя символ >>, вы можете вывести результат любой команды в текстовый файл.

Другие способы достижения этого — использование инструментов Linux, таких как tee, awk и sed.

Перенаправить вывод команды или данных в конец файла

Каждая операционная система на основе Unix имеет концепцию «места по умолчанию для вывода».

Каждый называет это «стандартный вывод» или «stdout», произносится как standard out.

Ваша оболочка (вероятно, bash или zsh) постоянно следит за местом вывода по умолчанию.

Когда ваша оболочка видит новый вывод, она выводит его на экран, чтобы вы могли его увидеть.

Мы можем перенаправить этот вывод в файл, используя оператор >>.

Процедура выглядит следующим образом:

Добавить текст в конец файла с помощью команды echo:

Добавить вывод команды в конец файла:

Добавление строк в конец файла

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

Используя этот метод, файл будет создан, если его не существует.

Добавление результата вывода данных команды в конец файла

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

В этом примере мы будем использовать date для добавления текущей даты в файл, команда uname — которая выведет версию ядра используемой нами системы Linux, и, наконец, команда ls, которая выводит текущую структуру каталогов и список файлов.

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

Альтернативные методы

Давайте посмотрим, как добавить что-либо в файл с помощью утилиты tee, awk и sed Linux.

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

Команда Tee читает стандартный ввод и записывает его как в стандартный вывод, так и в один или несколько файлов.

Команда названа в честь Т-разветвителя, используемого в сантехнике.

Он прерывает вывод программы, так что вывод может быть отображен и сохранен в файле.

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

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

Awk в основном используется для сканирования и обработки шаблонов.

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

Команда Sed в Linux расшифровывается как потоковый редактор (stream editor) и может выполнять множество функций с файлом, таких как поиск, поиск и замена, вставка или удаление.

Используя sed, вы можете редактировать файлы, даже не открывая его, что значительно ускоряет поиск и замену чего-либо в файле.

Добавить несколько строк в файл

Есть несколько способов добавить несколько строк в файл одновременно.

Вы можете, конечно, добавлять строки одну за другой:

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

Другой способ — открыть файл и писать строки, пока вы не наберете EOT:

Заключение

Хотя есть несколько способов добавить текстовые строки или данные и вывод команд в файл, мы увидели, что самый простой способ — это использовать >> символ перенаправления.

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

Дайте нам знать, какой метод для добавления в конец файла вы считаете лучшим в разделе комментариев.

Делить комментариями и добавляйте статьи в соц. сети, если они вам нравятся!

Источник

linux-notes.org

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

Вставить текст в файл через утилиту cat в Unix/Linux

Утилита cat, позволяет записывать данные (текс) в файл. Приведу несколько примеров.

-=== ПРИМЕР 1 ===-

  • TEXT HERE — произвольный текст, который нужно записать в файл.
  • EOF — это команда для завершения записи в файл.

-=== ПРИМЕР 2 ===-

  • TEXT HERE — произвольный текст, который нужно записать в файл.
  • ^D — Сочетание клавиш «CTRL-D» для завершения записи в файл.

-=== ПРИМЕР 3 ===-

Или можно использовать что-то типа:

Т.е вхождение у меня — TXT. Начало и конец записи регулируется именно этими символами.

Вставить текст в файл через утилиту echo в Unix/Linux

Чтобы вставить какой-то текст в файл с помощью команды echo, можно так (данная команда затрет файл и вставит именно то, что передадите ей):

Или, можно дописать в самый конец файла следующей командой:

Вставить текст в файл через утилиту printf в Unix/Linux

Чтобы вставить какой-то текст в файл с помощью команды printf, можно так (данная команда затрет файл и вставит именно то, что передадите ей):

Или, можно дописать в самый конец файла следующей командой:

Или много строчный текст:

Вставить текст в файл через утилиту tee в Unix/Linux

Например, сделать это можно следующим образом:

Вставить текст в файл через python в Unix/Linux

Можно это сделать (создать файл и прописать в него):

Если появятся еще идеи как можно это сделать (SED — не всчет), дополню данную статью.

Вот и все, статья «Вставить текст в файл в Unix/Linux» завершена.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Источник

Как добавить строку в конец файла из shell

Если делать echo -ne something >> file, то оно сначала делает newline, а только потом добавляет строку. А мне в моём простом скрипте нужно сделать это без разрыва строки. Что тут можно придумать?

Re: Как добавить строку в конец файла из shell

А откуда он там? И почему я не вижу его в vim?

Re: Как добавить строку в конец файла из shell

>И почему я не вижу его в vim?

посмотрите в mcview в режиме Hex.

А если вы изначально создаете файл в Vim, то видимо он этот newline и вставляет.

Re: Как добавить строку в конец файла из shell

Спасибо, действительно это так, оказывается, некоторые редакторы вставляют newline (и vim в том числе).

Значит, надо как-то удалить символ переноса строки из конца файла.

Re: Как добавить строку в конец файла из shell

Re: Как добавить строку в конец файла из shell

Re: Как добавить строку в конец файла из shell

Да, к счачтью, это нужно сделать буквально для 2 файлов, и mcedit с этим отлично справляется (в vim сложнее, наверно, надо опцию eol использовать).

Простите, что протупил. И ещё раз спасибо за помощь.

Re: Как добавить строку в конец файла из shell

Тоже вариант, спасибо.

Re: Как добавить строку в конец файла из shell

Тоже вариант, спасибо.

Re: Как добавить строку в конец файла из shell

> А откуда он там? И почему я не вижу его в vim?

Re: Как добавить строку в конец файла из shell

2 anonymous (*) (22.03.2006 13:57:20) :

> > А откуда он там? И почему я не вижу его в vim?

Позвольте поинтересоваться, какой же именно
стандарт предписывает дописывать new line
в конец файла?
Или просто так, неподумавши брякнул?

Re: Как добавить строку в конец файла из shell

> Спасибо, действительно это так, оказывается, некоторые редакторы
> вставляют newline (и vim в том числе).

Такое поведение можно менять, читай :help eol в vim.

Re: Как добавить строку в конец файла из shell

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

Re: Как добавить строку в конец файла из shell

> Позвольте поинтересоваться, какой же именно стандарт предписывает дописывать new line в конец файла?

Если мне не изменяет склероз — стандарт на язык программирования C, например.

$ gcc -Wall hw.c hw.c:3:47: warning: no newline at end of file

Re: Как добавить строку в конец файла из shell

2 anonymous (*) (22.03.2006 21:04:32) :

> Если мне не изменяет склероз — стандарт на язык программирования C, например.

Хм. перечитал исходный вопрос. и все дискуссию тоже. нигде
не упомянуто, что файл — это исходник на C. Или на каком другом
языке. Между строк читаешь? :-)))

Да ладно, дискутировать в общем-то не о чем. Поведение vi, при котором
он дописывает new line скорее историческими причинами.
Как говорит известная в узких кругах книга «Learning the vi Editor»:

— cut—
Finally, there is one tricky detail. Traditional vi always writes the
file with a final newline appended. When editing a binary file, this
might add one character to the file and cause problems. nvi and vim
are compatible with vi by default, and add that newline. In vim you
can set the binary option, so this doesn’t happen. elvis and vile
never append the extra newline.
— cut—

Re: Как добавить строку в конец файла из shell

> Хм. перечитал исходный вопрос. и все дискуссию тоже. нигде не упомянуто, что файл — это исходник на C. Или на каком другом языке. Между строк читаешь? :-)))

_Ваш_ вопрос выглядел так:

> Позвольте поинтересоваться, какой же именно стандарт предписывает дописывать new line в конец файла?

Я на него ответил. Вы же не будете отрицать, что исходник на C — это текстовый файл? 😉

Re: Как добавить строку в конец файла из shell

> Я на него ответил. Вы же не будете отрицать, что исходник на C — это текстовый файл? 😉

Re: Как добавить строку в конец файла из shell

А по поводу исторических причин можно добавить, что, наверное, 80% всех файлов, когда-либо редактировавшихся в vi и клонах — это исходники на C/C++/shell/Perl 😉

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Активировать office mac os
  • Адобе флеш плеер для mac os
  • Адобе премьер про для mac os
  • Администрирование mac os x книга
  • Автоповтор клавиш в mac os