замяніць тэкставы радок у файле [Guide]

Рэдагаванне тэкставых файлаў у 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 замяніць усе тэкставыя экзэмпляры (яблыкі) новым тэкстам (апельсіны). Гэта павінна выглядаць як у прыкладзе ніжэй.

Праверце гэта:  Як выкарыстоўваць блакіроўку рэкламы на ютубе [Chrome]

Заўвага: калі вы не хочаце замяняць кожны тэкст у файле (напрыклад, яблыкі на апельсіны), выдаліце ​​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», вам трэба будзе паказаць яго ў камандзе.

Праверце гэта:  Як выдаліць свой уліковы запіс Tinder за тры простых кроку

Заўвага: у гэтым прыкладзе файл «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