Sales.txt
Petsa ng Halaga ng Halaga
01/01/2020 60000 Dhaka
10/02/2020 76000 Rajshahi
21/03/2020 54000 Khulna
15/04/2020 78000 Chandpur
17/05/2020 45000 Bogra
02/06/2020 67000 Comilla
Palitan ang String sa isang File gamit ang `sed` Command
Ang pangunahing syntax ng ` sed Ang `utos para sa pagpapalit ng partikular na string sa isang file ay ibinigay sa ibaba.
Syntax
sed -ako 's / search_string / replacement_string /'filename
Ang bawat bahagi ng syntax sa itaas ay ipinaliwanag sa ibaba.
'-I' Ginagamit ang pagpipilian upang baguhin ang nilalaman ng orihinal na file na may kapalit na string kung mayroon ang string ng paghahanap sa file.
‘S ay nagpapahiwatig ng kapalit na utos.
'Search_string' naglalaman ng halaga ng string na hahanapin sa file para sa kapalit.
'Replacement_string' naglalaman ng halaga ng string na gagamitin upang mapalitan ang nilalaman ng file na tumutugma sa 'Search_string' halaga
'Filename' naglalaman ng filename kung saan ilalapat ang paghahanap at kapalit.
Halimbawa 1: Palitan ang File ng 'sed' Command
Sa sumusunod na script, ang teksto ng paghahanap at palitan ay kukuha mula sa gumagamit. Kung ang string ng paghahanap ay mayroon sa 'Sales.txt', pagkatapos ay papalitan ito ng kapalit na string. Dito, isasagawa ang isang case-sensitive na paghahanap.
#! / baseng / bash# Italaga ang filename
filename='Sales.txt'
# Kunin ang string ng paghahanap
basahin -p 'Ipasok ang string ng paghahanap:'maghanap
# Kunin ang tali ng palitan
basahin -p 'Ipasok ang palitan ng string:'palitan
kung [[ $ paghahanap !=' && $ palitan !=' ]];tapos
sed -ako 's /$ paghahanap/$ palitan/ ' $ filename
maging
Paglabas
Halimbawa 2: Palitan ang File ng 'sed' Command ng 'g' at 'i' Flag
Ang sumusunod na script ay gagana tulad ng nakaraang halimbawa, ngunit ang string ng paghahanap ay hahanapin sa buong mundo para sa flag na ‘g’, at gagawin ang case-insensitive na paghahanap para sa flag na ‘i’.
#! / baseng / bash# Kunin ang string ng paghahanap
basahin -p 'Ipasok ang string ng paghahanap:'maghanap
# Kunin ang tali ng palitan
basahin -p 'Ipasok ang palitan ng string:'palitan
kung [[ $ paghahanap !=' && $ palitan !=' ]];tapos
sed -ako 's /$ paghahanap/$ palitan/ ibigay ' $ 1
maging
Paglabas
Halimbawa 3: Palitan ang File ng 'sed' Command at Matching Digit pattern
Ang sumusunod na script ay maghanap para sa lahat ng nilalaman na may bilang sa isang file at papalitan ang nilalaman sa pamamagitan ng pagdaragdag ng '$' simbolo sa simula ng mga numero.
#! / baseng / bash# Suriin ang halaga ng argumento ng linya ng utos na mayroon o hindi
kung [ $ 1 !=' ];tapos
# Maghanap sa lahat ng string na naglalaman ng mga digit at magdagdag ng $
sed -ako 's / b [0-9] {5 } b / $ & / g' $ 1
maging
Paglabas
Palitan ang String sa isang File ng `awk` Command
Ang ‘ awk ’ Ang utos ay isa pang paraan upang mapalitan ang string sa isang file, ngunit ang utos na ito ay hindi maaaring ma-update ang orihinal na file nang direkta tulad ng ' pero utos
Halimbawa 4: Palitan ang File ng 'awk' Command
Itatago ng sumusunod na script ang na-update na nilalaman sa temp.txt file na papalitan ng pangalan ng orihinal na file.
#! / baseng / bash# Suriin ang halaga ng argumento ng linya ng utos na mayroon o hindi
kung [ $ 1 !=' ];tapos
# Maghanap sa lahat ng string batay sa petsa
ang awkward '{sub ('02 / 06/2020', '12/06/2020')} 1 ' $ 1 >temp.txt&& mvtemp.txt$ 1
maging
Paglabas
Konklusyon
Ipinakita sa iyo ng artikulong ito kung paano gumamit ng mga script ng bash upang mapalitan ang mga partikular na string sa isang file. Ang gawain upang palitan ang isang string sa isang file ay dapat na maging madali para sa iyo pagkatapos ng pagsasanay ng mga halimbawa sa itaas.