🐧 Как вставить строку в начало файла на Linux

by itisgood

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

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

В этой статье мы рассмотрим несколько методов, позволяющих сделать это эффективно.

Методы вставки строки в начало файла

Изменение начала файла требует иных стратегий, чем редактирование других частей.

Следующие методы описывают, как вставить строку в начало с помощью различных инструментов, доступных в Linux.

Использование команды sed: Команда sed (редактор потоков) – это мощная утилита для разбора и преобразования текста.

sed -i '1i This is the new first line' file.txt

Опция -i редактирует файл на месте. Команда 1i указывает sed вставить текст в строку 1.

Замените This на новую первую строку с текстом, который вы хотите вставить, а filename – на имя вашего файла.

Использование команды ed: Команда ed – это текстовый редактор, ориентированный на работу со строками. Он полезен для внесения изменений в сценарии.

ed -s file.txt << EOF
0a
This is the new first line
.
w
q
EOF

Здесь 0a вставляет текст в начало.

Команда w записывает изменения в файл, а q завершает работу редактора.

Заменить Это новая первая строка с нужным вам текстом.

Использование скрипта шелла: Для добавления строки в файл можно использовать простой скрипт оболочки.

{ echo 'This is the new first line'; cat file.txt; } > temp && mv temp file.txt

Эта команда использует под-оболочку для эха новой строки и конкатенации содержимого исходного файла.

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

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

Команда awk – это универсальный инструмент для обработки текста.

👾 Классная игра-шутер, которая работает на awk

awk 'BEGIN { print "This is the new first line" } { print }' file.txt > temp && mv temp file.txt

Блок BEGIN выполняется перед обработкой файла, поэтому первой печатается новая строка.

Остальная часть файла печатается как обычно.

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

Заключение

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

Независимо от того, предпочитаете ли вы sed, ed, shell или awk, освоение этих методов повысит вашу способность эффективно работать с текстовыми файлами в системе Linux.

см. также:

 

You may also like

Leave a Comment