Редактирование текстовых файлов в 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