замени текстовия низ във файла [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/ е записано в подканата на командния ред на терминала, е време да кажете na sed какъв текст да замени във файла. В този пример ще заменим думата „ябълка“.

sed -i 's/apple

Когато текстът, който искаме да заменим, бъде написан в командата, следващата стъпка е да напишем новия текст, който ще го замени. В този пример ще заменим „ябълки“ с „портокали“.

sed -i 's/apples/oranges

След като текстът, който искаме да заменим, бъде написан в командата (портокали), затворете командата с g/. g/ казва на sed да замени всички текстови екземпляри (ябълки) с новия текст (портокали). Трябва да изглежда като примера по-долу.

  Как да превключите Gmail акаунти от URL лентата

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

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

И накрая, кажете на sed в кой файл е текстът, който трябва да бъде заменен. В този пример целта е fruit.txt в домашната директория.

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

Натиснете клавиша enter, за да изпълните командата и да замените своя текстов низ във файла.

Заменете текстовия низ във файла – Perl

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

  iPad Pro като компютърна алтернатива

За да започнете, уверете се, че имате инсталиран Perl на вашия компютър с Linux. Повечето операционни системи 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/

След като напишете думата(ите), която искате да замените, добавете думата, която ще замени съществуващия текст. Например, ако искате да замените „apples“ в „fruit.txt“ с „oranges“, добавете „oranges“ след perl -pe ‘s/apples/, така че да изглежда като perl -pe ‘s/apples/oranges/ .

perl -pe 's/apples/oranges/

След като и двата текста са в командата, ще трябва да посочите входния файл, който Perl използва. Например, ако искате да замените текст във файла „fruit.txt“, ще трябва да го посочите в командата.

  Как да използвате помощната програма за групово преименуване на Windows 10 за файлове и папки

Забележка: в този пример файлът „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