Как добавить строку в файл
Перейти к содержимому

Как добавить строку в файл

  • автор:

Как добавить строку в файл?

Подскажите пожалуйста простую команду, добавляющую в текстовый файл определенную строку перед строкой с номером N.

Открываешь OpenOffice и правишь что нужно. Ваш К.О.

здесь 5 — номер строки.

> tail -n $2 $1

плюс перед $2 посеял, этак он выведет N строк с конца, а не с N по конец файла.

А в целом — красиво оформлено 😉

N=2; sed -e $N"s/^/Newline\n/" -i file

Подскажите пожалуйста простую команду, добавляющую в текстовый файл определенную строку перед строкой с номером N.

добавит TEST STRING перед 2й строкой.

>Открываешь OpenOffice и правишь что нужно. Ваш К.О.

это не КО, а ламо.

добавит строчку перед 666й строкой. Но sed кошернее.

У тебя stdout — консоль. Надо перенаправить вывод в файл

sed -i 4i\ ‘Мама мылараму’ test.txt

> sed ‘2iTEST STRING’
о самое простое, похоже =))

я по лумерски
N=3; STR=Hello ; sed -e «$N s/\(^.*$\)/$\n\1/» -i FILE_NAME

о самое простое, похоже =)) Только файлик не изменился

[code]sed -i[/code] или лучше без убийства старого [code]sed -i*.bak[/code]

В условии не написано где лежит текст, и куда его надо загнать.

. добавляющую в текстовый файл..

stormy показал простое и элегантное решение

Чего в нём элегантного? 🙂

stormy показал простое и элегантное решение

/dev/stdout и /dev/stdin это тоже файлы. причём текстовые. я думал, что вы сами догадаетесь, как читать/писать файлы. и нет в решении stormy ничего элегантного — sed-скрипт вообще рваный, и непонятно, что и к чему относится. Кстати, наши решения с командой i ещё и не переносимы, надо писать так:

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

В этом посте мы обсудим, как добавить текст в конец файла в Java.

Текст должен быть написан в конце файла, а не в начале. Если файл не существует, создайте новый с тем же именем и запишите данные.

Есть несколько способов добавить текст в конец файла в простой Java и с использованием сторонних библиотек, таких как Guava, Apache Commons IO и т. д. Все они подробно обсуждаются ниже:

1. Использование Files.write() метод

С введением Класс файлов в Java 7 включены несколько статических методов, которые работают с файлами, каталогами или другими типами файлов.

Bash: добавить текст в файл

В Bash есть несколько способов добавить текст в файл. Эта статья объясняет некоторые из них.

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

Добавить в файл с помощью оператора перенаправления ( >> )

Перенаправление позволяет захватывать выходные данные команды и отправлять их в качестве входных данных в другую команду или файл. Оператор перенаправления >> добавляет вывод в указанный файл.

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

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

При использовании с параметром -e команда echo интерпретирует экранированные символы обратной косой черты, такие как новая строка n :

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

Другой способ добавить текст в файл — использовать документ Here (Heredoc). Это тип перенаправления, который позволяет передавать команде несколько строк ввода.

Например, вы можете передать содержимое команде cat и добавить его в файл:

Вы можете добавить вывод любой команды в файл. Вот пример с командой date :

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

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

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

По умолчанию команда tee перезаписывает указанный файл. Чтобы добавить вывод в файл, используйте tee с параметром -a ( —append ):

Если вы не хотите, чтобы tee выводил данные на стандартный вывод, перенаправьте его на /dev/null :

Преимущество использования команды tee перед оператором >> заключается в том, что tee позволяет добавлять текст сразу в несколько файлов и записывать в файлы, принадлежащие другим пользователям, вместе с sudo .

Чтобы добавить текст в файл, в который у вас нет прав на запись, добавьте sudo перед tee как показано ниже:

tee получает вывод команды echo , повышает разрешения sudo и записывает в файл.

Чтобы добавить текст в несколько файлов, укажите файлы в качестве аргументов команды tee :

Выводы

В Linux для добавления текста в файл используйте оператор перенаправления >> или команду tee .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Как добавить строку в файл

Для работы непосредственно с текстовыми файлами в пространстве System.IO определены специальные классы: StreamReader и StreamWriter .

Запись в файл и StreamWriter

Для записи в текстовый файл используется класс StreamWriter . Некоторые из его конструкторов, которые могут применяться для создания объекта StreamWriter:

StreamWriter(string path) : через параметр path передается путь к файлу, который будет связан с потоком

StreamWriter(string path, bool append) : параметр append указывает, надо ли добавлять в конец файла данные или же перезаписывать файл. Если равно true, то новые данные добавляются в конец файла. Если равно false, то файл перезаписываетсяя заново

StreamWriter(string path, bool append, System.Text.Encoding encoding) : параметр encoding указывает на кодировку, которая будет применяться при записи

Свою функциональность StreamWriter реализует через следующие методы:

int Close() : закрывает записываемый файл и освобождает все ресурсы

void Flush() : записывает в файл оставшиеся в буфере данные и очищает буфер.

Task FlushAsync() : асинхронная версия метода Flush

void Write(string value) : записывает в файл данные простейших типов, как int, double, char, string и т.д. Соответственно имеет ряд перегруженных версий для записи данных элементарных типов, например, Write(char value) , Write(int value) , Write(double value) и т.д.

Task WriteAsync(string value) : асинхронная версия метода Write. Обратите внимание, что асинхронные версии есть не для всех перегрузок метода Write.

void WriteLine(string value) : также записывает данные, только после записи добавляет в файл символ окончания строки

Task WriteLineAsync(string value) : асинхронная версия метода WriteLine

Рассмотрим запись в файл на примере:

В данном случае два раза создаем объект StreamWriter. В первом случае если файл существует, то он будет перезаписан. Если не существует, он будет создан. И в нее будет записан текст из переменной text. Во втором случае файл открывается для дозаписи, и будут записаны атомарные данные — строка и число.

По завершении в папке программы мы сможем найти файл note.txt, который будет иметь следующие строки:

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

Чтение из файла и StreamReader

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

Некоторые из конструкторов класса StreamReader:

StreamReader(string path) : через параметр path передается путь к считываемому файлу

StreamReader(string path, System.Text.Encoding encoding) : параметр encoding задает кодировку для чтения файла

Среди методов StreamReader можно выделить следующие:

void Close() : закрывает считываемый файл и освобождает все ресурсы

int Peek() : возвращает следующий доступный символ, если символов больше нет, то возвращает -1

int Read() : считывает и возвращает следующий символ в численном представлении. Имеет перегруженную версию: Read(char[] array, int index, int count) , где array — массив, куда считываются символы, index — индекс в массиве array, начиная с которого записываются считываемые символы, и count — максимальное количество считываемых символов

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

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