сед

Како заменити последњу појаву помоћу „сед“

Како заменити последњу појаву помоћу „сед“
Команда 'сед' користи се у Линуку за разне врсте текстуалних операција, попут уметања, брисања, замене итд. Различите врсте задатака замене могу се обавити помоћу команде 'сед' лако. Било који заменски задатак може се извршити на основу текста или обрасца за претрагу. Текст или образац који се тражи могу се појавити више пута у низу или датотеци у којој ће се претрага обавити. Како можете заменити последњу појаву текста или обрасца за претрагу, приказано је у овом упутству.

Замените последњу појаву текста у низу:

Овај одељак показује како се последња појава узорка претраживања у низу може заменити помоћу команде 'сед'.

Пример-1: Замените последњу појаву речи на основу обрасца

Следећа команда 'сед' ће претражити реч 'ПХП' у низу и замените реч за претрагу речју 'АнгуларЈС' ако реч постоји у низу.

$ ецхо "Јава ПХП Басх Питхон ЈаваСцрипт ПЕРЛ ПХП Ларавел" |
сед 'с / \ (.* \) ПХП / \ 1АнгуларЈС / '

Следећи излаз ће се појавити након покретања наредбе. Ево, реч 'ПХП' постоји два пута у низу, а последња појава је замењена речју ' АнгуларЈС'.

Пример-2: Замените последњу појаву узорка заснованог на цифрама

Следећа наредба 'сед' ће претражити било коју цифру у низу и заменити последњу цифру бројем 9.

$ ецхо "Прва бројачка вредност 2. Друга бројачка вредност 4 "|
сед 'с / \ (.* \) [0-9]) * / \ 19 / '

Следећи излаз ће се појавити након покретања наредбе. Овде се цифра појављује два пута у низу и последња цифра, 4, је замењен бројем 9.

Пример-3: Замените последњу цифру броја на основу узорка

Следећа команда 'сед' замениће последњу цифру која постоји у вредности низа за вредност двоструком нулом (0 0).

$ ецхо "Цена производа је 500 УСД."| сед 'с / \ (.* \) [0-9] / \ 100 / '

Следећи излаз ће се појавити након покретања наредбе. Ево, 500 постоји у вредности низа. Дакле, према наредби за замену, последња нула од 500 је замењена са две двоструке нуле, а замењена вредност је 5000.

Пример-4: Замените последњу појаву речи другом речју

Следећа команда 'сед' ће претражити реч 'Јун' у низу и замените последњу појаву речи вредношћу, 'Може'.

$ принтф "% с \ н" јануар феб јун јун јун дец | тр '\ н' "|
сед 'с / \ (.* \) Јун / \ 1.мај / '| тр "'\ н'

Следећи излаз ће се појавити након покретања наредбе. Ево, реч 'Јун' постоји два пута у низу, а последња појава је замењена речју 'Може'.

Замените последњу појаву текста у датотеци:

Направите текстуалну датотеку са именом Продаја.ткт са следећим садржајем за тестирање наредбе 'сед' која се користи у овом делу водича за замену последњег појављивања текста заснованог на обрасцу.

Продаја.ткт

Месец Година Износ
Јануара 2018. 200000 долара
Марта 2019. 300000 долара
Априла 2019. 150000 долара
Марта 2020. 350000 долара
Маја 2019. 210000 долара
Јануара 2020. 240000 долара

Пример-5: Замените последњу појаву речи другом речју

Следећа команда 'сед' ће претражити реч 'Јануара'у датотеци и замените последњу појаву ове речи речју, 'Јул'.

$ мачка Продаја.ткт
$ сед '$ с / јануар / јул /' Продаја.ткт

Следећи излаз ће се појавити након покретања наредби. Реч 'Јануар' појављује се два пута у датотеци. Последња појава која постоји у 7тх ред датотеке је замењен речју 'Јул'у излазу.

Пример-6: Замените последњу појаву броја другим бројем

'тац' наредба се користи за преокретање садржаја датотеке. 'тац' наредба се користи са наредбом 'сед' у следећој наредби да замени последњу појаву '2019'с речју, '2017'.

$ мачка Продаја.ткт
$ тац продаја.ткт | сед '0, / 2019 / с / 2019/2017 /' | тац

Следећи излаз ће се појавити након покретања наредби. Овде је вредност године, '2019'појављује се три пута у датотеци. Први, 'тац' наредба је преокренула садржај датотеке и послала излаз у 'сед' наредба за замену прве појаве '2019' што је последња појава у датотеци по вредности године, '2017'. Након замене, излаз је послан на 'тац' наредба за поновно враћање излаза. На овај начин, последња појава '2019'је замењена вредношћу, '2017'.

Пример-7: Замените све редове на основу последњег појављивања речи

Следеће 'сед' наредба ће заменити линију текстом раздвојеним табулатором (\ т) где линија почиње низом 'Мар' последњи пут у досијеу.

$ мачка Продаја.ткт
$ тац продаја.ткт | сед '0, / ^ мар.* / с / ^ мар.* / Јул \ т \ т2018 \ т $ 400000 / '| тац

Следећи излаз ће се појавити након покретања наредби. Два реда у датотеци почињу низом, 'Мар', а последња појава овог низа појављује се у 5тх линија. Први 'тац' наредба је коришћена за преокретање садржаја датотеке и послала је излаз у 'сед ' команда. 'сед'наредба је линију заменила текстом,'Јула 2018. 400000 долара'где је први пут пронађен низ за претрагу. Излаз од тхе 'сед'команда је послата на 'тац' поново наредите да обрнете излаз који је главни садржај датотеке.

Закључак:

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

Преглед бежичног миша Мицрософт Сцулпт Тоуцх
Недавно сам читао о Мицрософт Сцулпт Тоуцх бежични миш и одлучио да га купи. Након што сам га неко време користио, одлучио сам да са њим поделим своје...
Екран Трацкпад и показивач миша АппиМоусе за Виндовс таблете
Корисницима таблета често недостаје показивач миша, посебно када су уобичајени за коришћење преносних рачунара. Паметни телефони и таблети на додир ос...
Средњи тастер миша не ради у оперативном систему Виндовс 10
Тхе средње дугме миша помаже вам да се крећете кроз дугачке веб странице и екране са пуно података. Ако се то заустави, на крају ћете користити тастат...