Рэдагаванне тэкставых файлаў у 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