Kuinka korvata merkkijono Bashin tiedostossa

How Replace String File Bash



Ohjelmoijana sinun on ehkä käsiteltävä erityyppisiä tiedostoja tietojen tallentamiseksi tilapäisesti tai pysyvästi. Joskus sinun on ehkä vaihdettava osa tiedostosta tai muokattava tiedoston tiettyä sisältöä. Jos haluat korvata tiedoston sisällön, sinun on etsittävä tietty tiedostojono. The mutta komentoa käytetään korvaamaan mikä tahansa tiedoston merkkijono bash -komentosarjan avulla. Tätä komentoa voidaan käyttää eri tavoin korvaamaan bash -tiedoston sisältö. The ’Voi '-Komentoa voidaan käyttää myös tiedoston merkkijonon korvaamiseen. Tämä opetusohjelma näyttää, kuinka korvata merkkijonoarvo tiedostosta bash -komentosarjan avulla Sales.txt seuraavan sisällön avulla luodaan korvaavat toiminnot.

Sales.txt







Päivämäärä Määräalue

01/01/2020 60000 Dhaka
2.10.2020 76000 Rajshahi
21.3.2020 54000 Khulna
15.4.2020 78000 Chandpur
17.5.2020 45000 Bogra
06.02.2020 67000 Comilla

Korvaa tiedoston merkkijono komennolla `sed '

Perussyntaksi ` sed `` komento tiedoston jonon korvaamiseksi on annettu alla.



Syntaksi



sed -i 's/search_string/substit_string/'Tiedoston nimi

Jokainen yllä olevan syntaksin osa selitetään alla.





'-I' -vaihtoehtoa käytetään alkuperäisen tiedoston sisällön muuttamiseen korvaavalla merkkijonolla, jos hakusana on tiedostossa.

'S' tarkoittaa korvaavaa komentoa.



'Search_string' sisältää merkkijonon arvon, jota etsitään tiedostosta vaihdettavaksi.

'Korvata merkkijono' sisältää merkkijonon arvon, jota käytetään korvaamaan tiedoston sisältö, joka vastaa 'Search_string' arvo.

'Tiedoston nimi' sisältää tiedostonimen, jossa hakua ja korvausta käytetään.

Esimerkki 1: Korvaa tiedosto komennolla 'sed'

Seuraavassa komentosarjassa haku ja korvaa -teksti otetaan käyttäjältä. Jos hakumerkkijono on olemassa Sales.txt -tiedostossa, se korvataan korvaavalla merkkijonolla. Tässä tehdään kirjainkoolla merkitsevä haku.

#!/bin/bash

# Anna tiedostonimi
Tiedoston nimi='Sales.txt'

# Ota hakusana
lukea -p 'Kirjoita hakusana:'Hae

# Ota korvaava merkkijono
lukea -p 'Kirjoita korvaava merkkijono:'korvata

jos [[ $ haku !='' && $ korvata !='' ]];sitten
sed -i 's/$ haku/$ korvata/ ' $ tiedostonimi
olla

Lähtö

Esimerkki 2: Korvaa tiedosto komennolla 'sed' komennolla 'g' ja 'i'

Seuraava skripti toimii kuten edellinen esimerkki, mutta hakumerkkijonosta etsitään maailmanlaajuisesti 'g' -lippua ja kirjainkoolla ei merkitystä 'i' -lipulle.

#!/bin/bash

# Ota hakusana
lukea -p 'Kirjoita hakusana:'Hae

# Ota korvaava merkkijono
lukea -p 'Kirjoita korvaava merkkijono:'korvata

jos [[ $ haku !='' && $ korvata !='' ]];sitten
sed -i 's/$ haku/$ korvata/antaa' $ 1
olla

Lähtö

Esimerkki 3: Korvaa tiedosto komennolla 'sed' ja vastaava numero

Seuraava skripti etsii tiedoston numeerista sisältöä ja korvaa sen lisäämällä '$' symboli numeroiden alussa.

#!/bin/bash

# Tarkista, onko komentoriviargumentin arvo olemassa vai ei
jos [ $ 1 !='' ];sitten
# Hae kaikista numeroita sisältävistä merkkijonoista ja lisää $
sed -i 's/ b [0-9] {5 } b/$ &/g' $ 1
olla

Lähtö

Korvaa tiedoston merkkijono komennolla `awk`

' awk ' komento on toinen tapa korvata tiedoston merkkijono, mutta tämä komento ei voi päivittää alkuperäistä tiedostoa suoraan ' mutta komento.

Esimerkki 4: Korvaa tiedosto komennolla 'awk'

Seuraava skripti tallentaa päivitetyn sisällön temp.txt tiedosto, jonka nimi muutetaan alkuperäiseksi.

#!/bin/bash

# Tarkista, onko komentoriviargumentin arvo olemassa vai ei
jos [ $ 1 !='' ];sitten
# Hae kaikista merkkijonoista päivämäärän perusteella
awk '{sub ('02/06/2020', '12.6.2020')} 1 ' $ 1 >temp.txt&& mvtemp.txt$ 1
olla

Lähtö

Johtopäätös

Tässä artikkelissa kerrottiin, kuinka voit käyttää bash -komentosarjoja tiettyjen merkkijonojen korvaamiseen tiedostossa. Tiedoston merkkijonon korvaamisen pitäisi olla helpompaa, kun olet harjoitellut yllä olevia esimerkkejä.