Научите Линук

Замена низа у басху

Замена низа у басху

Басх је УНИКС-ов поступак компатибилности са љуском чији је главни задатак манипулисање стринговима изведеним у окружењу љуске. Програмери су понекад позвани да раде на различитим датотекама. Они могу додавати, брисати и замењивати делове или целу датотеку како би одговарали њиховом раду. Ово захтева знање о замени низа у басх. Чување података може бити привремено или трајно, у зависности од природе података. Низ датотеке је неопходан приликом замене садржаја датотеке.

Замена низа у басху

сед је од виталне важности и добро вам помаже да замените низове у датотеци басх скриптама. Уређивач низова може се користити на различите начине за замену садржаја датотеке у басх-у. Алтернативни, али уређивач звучних низова је авк који се може покренути приликом замене вредности низа из датотеке помоћу басх-а. Овај чланак ће помоћу примера показати како се садржај датотеке може заменити у басх. Имајте на уму да знање о образацима регуларних израза такође може бити од велике вредности приликом замене низа у басх.

Манипулација низовима басха

При мањим или једноставним заменама сед није потребан. Басх може да манипулише.

На пример:
Приликом замене фосслинук-а.гиф са .мп4, сед није потребан.
Да бисте извршили поступак помоћу басха, користите кодирани текст испод:

# / бин / басх филе_наме = "фосслинук.гиф "нев_ектентион =" мп4 "# Замените .гиф са .мп4 генератед_филе_наме = $ име_датотеке /.гиф /.$ нев_ектентион ецхо генератед_филе_наме

Замена низа помоћу сед

сед се може назвати уређивачем тока. Сед може заменити низ у датотекама. Погледајмо пример датотеке која се назива синглебоардбитес.ткт који има следеће информације:
Фосс Линук је сјајна страница за учење за сваког корисника Линука. Погледајте чланке које је Фосс Линук објавио на њиховој веб локацији.

Сада из наше датотеке морамо да заменимо реч „сајт”Са„веб сајт“И преименујте датотеку у фосслинук.ткт.

Разумевање сед синтаксе

сед -и 'с / сеарцх_стринг / реплаце_стринг /' назив датотеке сед - је наредба која се користи у извршавању горње синтаксе ''- користи се за модификовање садржаја у оригиналној датотеци са помоћним помоћним низом кад год вредност датотеке постоји у датотеци. 'с'- ово је замена наредба'стринг_за претрагу'- ово представља вредност низа која ће се тражити за замену у оригиналној датотеци'реплаце_стринг'- ово представља вредност низа која се користи за замену тражене вредности. Низ треба да се подудара са низом који је пронађена наредбом 'сеарцх_стринг'. 'назив документа'- ово је назив датотеке којом ће се применити замена.

Извршите следећу команду на свом терминалу:

сед 'с / сите / вебсите / г' синглебоардбитес.ткт> фосслинук.ткт

Замена низа помоћу сед

Напомена: Такође можете извршити горенаведену наредбу тако што ћете је ставити као басх скрипту.
Замена помоћу команда

Након покретања наредбе, следећи корак је замена помоћу команда. представља представљање „на месту“, што значи да се датотека само замењује и да се не стварају додатне датотеке. Користећи наш пример изнад, покрените следећу команду:

сед -и 'с / сите / вебсите / г' синглебоардбитес.ткт

Замена помоћу команде -и

На доњој слици можете видети ускличник који каже: Датотека „/ хоме / тутс / синглебоардбитес.ткт промењен на диску.”Ово показује да су промене успешно извршене.

Промене на једнобајтним бајтовима.ткт

Доња слика је датотека која садржи промене направљене у претходном кораку, како у називу датотеке (синглебоардбитес.ткт у фосслинук.ткт) и реч сајт је промењен у веб сајт.

Коначна промена након покретања команде сед

Коришћење променљиве као вредности за претрагу и замена

Уз мало интерполације, променљиве се могу користити за замену низа. Први сед аргумент, у овом случају, мора користити двоструке наводнике уместо појединачне наводнике. На пример, ваш код ће бити сличан ономе у наставку:

тутс () локална претрага = $ 1 локална замена = $ 2 # Обратите пажњу на двоструке наводнике сед -и "с / $ сеарцх / $ реплаце / г" синглебоардбитес.ткт

Коришћење променљиве као вредности за претрагу и замена

сед има два укуса, и то: ФрееБСД и Линук сед. Линук дистрибуције користе Линук сед док корисници ОС Кс користе ФрееБСД сед. Ови укуси су прилично различити и стога се не могу пренети команде са једног укуса сед на други.

На пример, док замењујете садржај датотеке помоћу ФрееБСД-а, треба направити сигурносну копију помоћу .продужетак бак. Или можете покренути сигурносну копију помоћу празних парова наводника одмах након ознаке -и, као што је приказано у басх синтакси испод:

тутс () локална претрага = $ 1 локална замена = $ 2 сед -и "" "с / $ сеарцх / $ реплаце / г" синглебоардбитес.ткт

Ако се резервна копија не направи током коришћења ФрееБСД-а као што је приказано у синтаксном коду горе, запашће вам грешка попут оне приказане доле:

сед: 1: "/ Усерс / усер / патх / тутс ...": додатни знакови на крају наредбе х

Како заменити датотеку и подударати цифрени образац помоћу команде сед

Ако успешно покренете скрипту, извршиће се претрага целокупног нумеричког садржаја који се налази у датотеци. Тада ће садржај бити замењен додавањем $ испред бројева.

#!/ бин / басх # Проверите вредност аргумента командне линије или не постоји ако [$ 1 != ""]; затим # Претражите све низове који садрже цифре и додајте $ сед -и 'с / \ б [0-9] \ 5 \ \ б / $ & / г' $ 1 фи

Замена низа помоћу команде авк

У овом случају ћемо користити команду авк уместо команде сед да заменимо садржај датотеке. Разлика међу овим наредбама је у томе што команда сед директно ажурира оригиналну датотеку, што није случај са командом авк.

#!/ бин / басх # Проверите вредност аргумента командне линије или не постоји ако [$ 1 != ""]; тхен # Претражите све низове на основу датума авк 'суб ("02/06/2020", "12/06/2020") 1' $ 1> темп.ткт && мв темп.ткт $ 1 фи

Закључак

Горњи примери су витални за ваш напредак у учењу како да замените низ у Басху. Стога, да бисте били добри у томе, мораћете редовно да вежбате. Претраживање и замена низа у датотеци може изгледати сложено, али биће вам много лакше управљати ако се правилно будете придржавали наших смерница.

Треба напоменути да се покретање команди понекад може учинити управљивијим, али пазите да не направите пустош од сед. Када унесете погрешне наредбе, сломићете рачунар, што ће вам створити веће проблеме попут губитка података. Стога, да бисте били сигурни, увек копирајте и налепите код какав је на ваш терминал. Ово ће спречити правописне грешке које могу оштетити вашу машину. Надамо се да вам је овај чланак помогао да научите како да замените низ у басх-у помоћу овог чланка.

Контролишите и управљајте кретањем миша између више монитора у оперативном систему Виндовс 10
Двоструки приказ миша омогућава вам контролу и конфигурисање кретања миша између више монитора, успоравајући његово кретање близу границе. Виндовс 10/...
ВинМоусе вам омогућава да прилагодите и побољшате кретање показивача миша на Виндовс рачунару
Ако желите да побољшате подразумеване функције показивача миша, користите бесплатни програм ВинМоусе. Додаје још функција које ће вам помоћи да на нај...
Леви тастер миша не ради у оперативном систему Виндовс 10
Ако уз преносни рачунар или стони рачунар користите наменски миш, али тастер миша не ради у оперативном систему Виндовс 10/8/7 из неких разлога, ево н...