заменить текстовую строку в файле [Guide]

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

Linux: заменить текстовую строку

Заменить текстовую строку в файле — sed

Инструмент sed — лучший способ заменить текстовую строку в файле в Linux. Причина? Он прост в использовании и очень хорошо выполняет свою работу. Sed обычно предустановлен в 99% операционных систем Linux, поэтому для использования его не нужно устанавливать.

Замена текстовой строки в файле с помощью Sed выполняется с помощью команды sed -i. Вот как им пользоваться. Сначала откройте окно терминала на рабочем столе Linux. Вы можете открыть окно терминала, нажав Ctrl + Alt + T на клавиатуре.

Когда окно терминала открыто и готово к использованию, напишите sed -i в строке терминала. Это начало команды замены.

sed -i

После записи команды sed -i добавьте кавычки. Эта кавычка важна, так как весь текст, заменяемый на sed -i, должен начинаться после этого знака.

sed -i '

После первой отметки напишите s /. S / идет непосредственно перед существующим текстом, который вы хотите заменить с помощью sed.

sed -i 's/

Теперь, когда s / записан в приглашение командной строки терминала, пора сообщить sed, какой текст заменить в файле. В этом примере мы заменим слово «яблоко».

sed -i 's/apple

Когда текст, который мы хотим заменить, записывается в команду, следующим шагом будет ввод нового текста, который заменит его. В этом примере мы заменим «яблоки» на «апельсины».

sed -i 's/apples/oranges

Как только текст, который мы хотим заменить, будет записан в команду (апельсины), закройте команду g /. G / сообщает sed заменить все текстовые экземпляры (яблоки) новым текстом (апельсины). Это должно выглядеть как на примере ниже.

Примечание: если вы не хотите заменять каждый текст в файле (например, яблоки на апельсины), удалите g и запустите его как sed -i ‘s / apples / oranges /’.

sed -i 's/apple/orange/g'

Наконец, сообщите sed, в каком файле находится текст, который нужно заменить. В этом примере целевым файлом является fruit.txt в домашнем каталоге.

sed -i 's/apples/oranges/g' ~/fruit.txt

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

Заменить текстовую строку в файле — Perl

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

Для начала убедитесь, что на вашем компьютере с Linux установлен Perl. Большинство операционных систем Linux поставляются с установленным Perl. Однако, если у вас его нет, проверьте страницу справки вашей операционной системы, чтобы узнать, как заставить его работать.

Использование Perl для замены текстовых строк в файле требует терминала. Откройте терминал на рабочем столе Linux, нажав Ctrl + Alt + T на клавиатуре. Или найдите «Терминал» в меню приложения и запустите его таким образом.

Когда окно терминала открыто и готово к использованию, начните с ввода perl -pe в командной строке. Команда perl -pe — это то, что нужно для замены текстовой строки в файле.

perl -pe

Записав perl -pe в командной строке терминала, вам нужно будет начать с первой кавычки. Эта метка сообщает Perl, где находится область замены текста в команде.

perl -pe '

После первой кавычки добавьте s /, затем строку текста, который вы хотите заменить, и еще один /. Например, чтобы заменить «яблоки» в файле fruit.txt, вы должны написать следующий текст.

perl -pe 's/apples/

После написания слова (слов), которое вы хотите заменить, добавьте слово, которое заменит существующий текст. Например, если вы хотите заменить «яблоки» в «fruit.txt» на «апельсины», добавьте «апельсины» после perl -pe ‘s / apples /, чтобы он выглядел как perl -pe’ s / apples / oranges / .

perl -pe 's/apples/oranges/

Как только обе строки текста находятся в команде, вам нужно указать входной файл, который использует Perl. Например, если вы хотите заменить текст в файле «fruit.txt», вам нужно указать его в команде.

Примечание: в этом примере файл «fruit.txt» находится в домашнем каталоге (~ /). Не забудьте заменить «~ / fruit.txt» на местоположение вашего текстового файла, чтобы команда работала.

perl -pe 's/apples/oranges/' ~/fruit.txt

Теперь, когда входной файл (файл, который вы изменяете с помощью Perl) добавлен к команде, команда должна выглядеть так, как показано ниже.

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

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

cat fruit.txt