sed Command upang Palitan ang isang String sa isang File

Sed Command Replace String File



Tuwing nagtatrabaho kami sa anumang uri ng mga file, ito ay isang pangkaraniwang kasanayan na gumawa ng mga pagbabago sa mga file na iyon sa pamamagitan ng paghahanap at pagpapalit ng mga salita. Karamihan sa mga editor ng teksto ay nagbibigay ng iba't ibang mga pamamaraan batay sa GUI upang maisagawa ang mga pagbabagong ito. Gayunpaman, sa mga oras, kailangan mo ng isang paraan upang hanapin at palitan ang mga salita sa loob ng isang file sa pamamagitan ng terminal. Samakatuwid, sa artikulong ito, ilalakad ka namin sa pamamaraan ng paggamit ng sed command upang palitan ang isang string sa isang text file. Magtatapon din kami ng ilaw sa iba't ibang mga sitwasyon kung saan maaaring magamit ang utos na ito.

Tandaan: Gagamitin namin ang Linux Mint 20 para sa pagpapakita ng paggamit ng sed command upang palitan ang isang string sa isang file. Maaari mo ring gamitin ang anumang iba pang lasa ng Linux kung nais mo.







Paggamit ng sed Command:

Ipapakita namin sa iyo ang ilang mga kagiliw-giliw na halimbawa para sa paglalarawan ng paggamit ng sed command sa Linux. Tingnan natin, kung paano gumagana ang utos na ito sa iba't ibang mga sitwasyon.



Lumilikha ng isang Text File para sa Pagpapakita:

Para sa pagpapakita ng paggamit ng sed utos, nais naming gumana sa isang text file. Gayunpaman, maaari ka ring lumikha ng isang Bash file o anumang iba pang mga file na iyong pinili. Pangalawa, lilikha kami ng file sa direktoryo ng Home upang hindi namin matukoy ang anumang mga kumplikadong landas habang ina-access ang file na ito. Para sa paglikha ng isang file ng teksto, dapat isagawa ang mga sumusunod na hakbang:



Mag-click sa icon ng File Manager na matatagpuan sa iyong taskbar ng Linux Mint 20:





Lumikha ngayon ng isang bagong file ng teksto sa direktoryo ng Home sa pamamagitan ng pag-right click sa kahit saan doon at pagkatapos ay piliin ang pagpipiliang Bagong Dokumento mula sa menu ng cascading at Empty na pagpipilian ng dokumento mula sa sub-cascading menu. Sa sandaling nalikha ang file ng teksto, magbigay ng isang angkop na pangalan dito. Para sa partikular na halimbawang ito, pinangalanan ko ito bilang sed.txt.



Mag-double click sa file na ito upang buksan ito at i-type ang anumang random na teksto dito tulad ng ipinakita sa imahe sa ibaba. I-save ang text file na ito sa pamamagitan ng pagpindot sa Ctrl + S at pagkatapos ay isara ito.

Ngayon ilunsad ang terminal sa Linux Mint 20 tulad ng ipinakita sa sumusunod na imahe:

Matapos ilunsad ang terminal sa Linux Mint 20, maaari kang dumaan sa lahat ng mga halimbawang binanggit sa ibaba isa-isa.

Gamit ang sed Command para sa pagpapalit ng lahat ng Mga Pangyayari ng isang Naibigay na Salita:

Maaari mong gamitin ang sed utos para sa pagpapalit ng lahat ng mga paglitaw ng isang naibigay na salita sa isang text file. Ang syntax ng pagkamit ng layuning ito ay nabanggit sa ibaba:

$sed‘S/sed/FindWord/Palitan ang Word/’File.txt

Dito, kailangan mong palitan ang FindWord ng salitang nais mong palitan at Palitan ang Word ng salitang papalitan. Bukod dito, kailangan mo ring palitan ang file ng pangalan ng file kung saan mo nais gawin ang mga kapalit na ito. Sa senaryong ito, pinalitan ko ang FindWord ng sed at ang ChangeWord ay may pinalitan. Ang aming pangalan ng file ay sed.txt. Ipinapakita rin ito sa sumusunod na imahe:

Ang matagumpay na pagpapatupad ng utos na ito ay magpapakita sa iyo ng mga pagbabagong naganap dahil sa pagpapatakbo ng utos na ito sa iyong terminal:

Gamit ang sed utos para sa pagpapalit ng ika-n Pangyayari ng isang Naibigay na Salita sa bawat Linya:

Ang pangyayari sa itaas ay ang pinakasimpleng senaryo ng kapalit, gayunpaman sa mga oras, hindi mo nais na palitan ang lahat ng mga paglitaw ng isang salita sa halip nais mong palitan lamang ang una, pangalawa, o pang-n pangyayari ng salitang iyon sa lahat ng mga linya. Para sa paggawa nito, maaari mong maisagawa ang sumusunod na utos:

$sed‘S/FindWord/Palitan ang Word/num ’file.txt

Dito, kailangan mong palitan ang FindWord ng salitang nais mong palitan at Palitan ang Word ng salitang papalitan. Bukod dito, kailangan mo ring palitan ang file ng pangalan ng file kung saan mo nais gawin ang mga kapalit na ito. Sa senaryong ito, pinalitan ko ang FindWord palitan at ang ChangeWord ay may sed. Ang aming pangalan ng file ay sed.txt. Gayundin, ang num ay tumutukoy sa pangyayari o posisyon ng salitang papalitan. Sa ipinakitang halimbawa, nais kong palitan ang unang paglitaw ng palitan ng sed sa bawat linya tulad ng ipinakita sa imahe sa ibaba:

Ang matagumpay na pagpapatupad ng utos na ito ay magpapakita sa iyo ng mga pagbabagong naganap dahil sa pagpapatakbo ng utos na ito sa iyong terminal:

Gamit ang sed utos para sa pagpapalit ng isang Naibigay na Salita sa isang Tiyak na Linya:

Sa mga oras, nais mo lamang palitan ang isang naibigay na salita sa isang tukoy na linya at hindi sa buong dokumento. Para sa paggawa nito, malinaw na kailangan mong tukuyin ang partikular na numero ng linya sa sumusunod na utos:

$sed‘LineNum s/FindWord/Palitan ang Word/’File.txt

Dito, kailangan mong palitan ang FindWord ng salitang nais mong palitan at Palitan ang Word ng salitang papalitan. Bukod dito, kailangan mo ring palitan ang file ng pangalan ng file kung saan mo nais gawin ang mga kapalit na ito. Sa senaryong ito, pinalitan ko ang FindWord sed at ang ChangeWord ay may pinalitan. Ang aming pangalan ng file ay sed.txt. Gayundin, kailangan mong palitan ang LineNum ng numero ng linya ng partikular na linya kung saan nais mong gawin ang kapalit. Sa halimbawang ito, nais naming palitan ang sed ng palitan sa linya na numero 2 ng aming file tulad ng ipinakita sa sumusunod na imahe:

Ang matagumpay na pagpapatupad ng utos na ito ay magpapakita sa iyo ng mga pagbabagong naganap dahil sa pagpapatakbo ng utos na ito sa iyong terminal. Madali mong mapatunayan na ang mga nasabing pagbabago ay naganap lamang sa linya numero 2 ng aming file at hindi sa buong teksto.

Konklusyon:

Kailan man naramdaman mo ang pangangailangan ng pagpapalit ng anumang salita sa isang file, ang pinakaunang bagay na kailangan mong gawin ay upang makilala ang iyong partikular na kinakailangan na ibig sabihin kung nais mong palitan ang tukoy na salita sa buong file, o nais mong palitan ang isang tukoy na paglitaw ng ang partikular na salita, o nais mong palitan ang salitang iyon sa isang tukoy na linya. Kapag natukoy mo ang iyong partikular na senaryo, maaari mo nang magamit ang tiyak na pamamaraan na iyon mula sa mga halimbawang tinalakay sa artikulong ito.