sed

sed komento merkkijonon korvaamiseksi tiedostossa

sed komento merkkijonon korvaamiseksi tiedostossa
Aina kun käsittelemme minkäänlaisia ​​tiedostoja, on hyvin yleistä käytäntöä tehdä muutoksia tiedostoihin etsimällä ja korvaamalla sanoja. Suurin osa tekstieditorista tarjoaa erilaisia ​​GUI-pohjaisia ​​menetelmiä näiden muutosten suorittamiseksi. Toisinaan tarvitset kuitenkin tapaa löytää ja korvata sanat tiedostossa päätelaitteen kautta. Siksi tässä artikkelissa käydään läpi menetelmä, jolla sed-komento käytetään korvaamaan merkkijono tekstitiedostossa. Valaistamme myös erilaisia ​​skenaarioita, joissa tätä komentoa voidaan käyttää.

Huomautus: Käytämme Linux Mint 20: tä osoittamaan sed-komennon käytön korvaamaan merkkijono tiedostossa. Voit myös käyttää mitä tahansa muuta Linux-makua, jos haluat.

Sed-komennon käyttö:

Nyt näytämme sinulle erittäin mielenkiintoisia esimerkkejä sed-komennon käytön kuvaamisesta Linuxissa. Katsotaanpa, kuinka tämä komento toimii eri tilanteissa.

Tekstitiedoston luominen esittelyä varten:

Sed-komennon käytön osoittamiseksi haluaisimme työskennellä tekstitiedoston kanssa. Voit kuitenkin jopa luoda Bash-tiedoston tai minkä tahansa muun valitsemasi tiedoston. Toiseksi luomme tiedoston kotihakemistoon, jotta meidän ei tarvitse määrittää monimutkaisia ​​polkuja tiedostoa käytettäessä. Luo tekstitiedosto seuraavasti:

Napsauta File Mint -kuvaketta, joka sijaitsee Linux Mint 20 -tehtäväpalkissa:

Luo nyt uusi tekstitiedosto kotihakemistoon napsauttamalla hiiren kakkospainikkeella mitä tahansa kohtaa siellä ja valitsemalla sitten Uusi asiakirja -vaihtoehto CSS-valikosta ja Tyhjennä asiakirja -vaihtoehdon alakaskauksen valikosta. Kun tekstitiedosto on luotu, anna sille sopiva nimi. Tässä nimenomaisessa esimerkissä olen nimennyt sen sediksi.txt.

Kaksoisnapsauta tätä tiedostoa avataksesi sen ja kirjoita satunnainen teksti siihen alla olevan kuvan mukaisesti. Tallenna tämä tekstitiedosto painamalla Ctrl + S ja sulje se.

Käynnistä nyt pääte Linux Mint 20: ssä seuraavan kuvan mukaisesti:

Kun olet käynnistänyt päätelaitteen Linux Mint 20: ssä, voit käydä läpi kaikki alla mainitut esimerkit yksitellen.

Sed-komennon käyttäminen tietyn sanan kaikkien esiintymien korvaamiseen:

Voit käyttää sed-komentoa korvaamaan kaikki tietyn sanan esiintymät tekstitiedostossa. Syntaksi tämän tavoitteen saavuttamisesta mainitaan alla:

$ sed 's / sed / FindWord / ReplaceWord /' -tiedosto.txt

Tässä sinun täytyy korvata FindWord sanalla, jonka haluat korvata, ja ReplaceWord korvattavalla sanalla. Lisäksi sinun on myös korvattava "tiedosto" sen tiedoston nimellä, johon haluat tehdä nämä korvaukset. Tässä tilanteessa olen korvannut FindWordin sedillä ja ReplaceWord korvaavalla. Tiedostomme nimi oli sed.txt. Se näkyy myös seuraavassa kuvassa:

Tämän komennon onnistunut suorittaminen näyttää muutokset, jotka ovat tapahtuneet tämän komennon suorittamisen vuoksi päätelaitteessasi:

Sed-komennon avulla korvataan tietyn sanan esiintyminen jokaisella rivillä:

Yllä oleva skenaario oli yksinkertaisin korvaava skenaario, mutta joskus et halua korvata kaikkia sanan esiintymiä, vaan haluat korvata vain sanan ensimmäisen, toisen tai n: nnen esiintymän kaikilla riveillä. Tätä varten voit suorittaa seuraavan komennon:

Tiedosto $ sed '/ FindWord / ReplaceWord / num'.txt

Tässä sinun täytyy korvata FindWord sanalla, jonka haluat korvata, ja ReplaceWord korvattavalla sanalla. Lisäksi sinun on myös korvattava "tiedosto" sen tiedoston nimellä, johon haluat tehdä nämä korvaukset. Tässä skenaariossa olen korvannut FindWord korvaa ja korvaa sanan sedillä. Tiedostomme nimi oli sed.txt. Num tarkoittaa myös korvattavan sanan esiintymistä tai sijaintia. Esitetyssä esimerkissä haluan korvata ensimmäisen korvaavan korvan sedillä jokaisella rivillä alla olevan kuvan mukaisesti:

Tämän komennon onnistunut suorittaminen näyttää muutokset, jotka ovat tapahtuneet tämän komennon suorittamisen vuoksi päätelaitteessasi:

Sed-komennon käyttäminen tietyn sanan korvaamiseen tietyllä rivillä:

Joskus haluat korvata vain tietyn sanan tietyllä rivillä eikä koko asiakirjassa. Tätä varten sinun on nimenomaisesti määritettävä kyseinen rivinumero seuraavassa komennossa:

$ sed 'LineNum s / FindWord / ReplaceWord /' -tiedosto.txt

Tässä sinun täytyy korvata FindWord sanalla, jonka haluat korvata, ja ReplaceWord korvattavalla sanalla. Lisäksi sinun on myös korvattava "tiedosto" sen tiedoston nimellä, johon haluat tehdä nämä korvaukset. Tässä tilanteessa olen korvannut FindWord sedin ja ReplaceWordin korvaamalla. Tiedostomme nimi oli sed.txt. Lisäksi sinun on korvattava LineNum sen rivin numerolla, jolla haluat tehdä korvauksen. Tässä esimerkissä halusimme korvata sedin korvaamalla tiedostomme rivillä 2 seuraavan kuvan mukaisesti:

Tämän komennon onnistunut suorittaminen näyttää muutokset, jotka ovat tapahtuneet tämän komennon suorittamisen vuoksi päätelaitteessasi. Voit helposti varmistaa, että mainitut muutokset ovat tapahtuneet vain tiedostomme rivillä 2 eivätkä koko tekstissä.

Päätelmä:

Aina kun mielestäsi on tarpeen korvata mikä tahansa sana tiedostossa, ensimmäinen asia mitä sinun on tehtävä, on tunnistaa tietty vaatimus i.e. haluatko korvata kyseisen nimen sanan koko tiedostossa vai haluatko korvata kyseisen sanan tietyn esiintymän vai haluatko korvata kyseisen sanan tietyllä rivillä. Kun olet tunnistanut tietyn skenaarion, voit käyttää kyseistä menetelmää tässä artikkelissa käsitellyistä esimerkeistä.

How to Develop a Game on Linux
A decade ago, not many Linux users would predict that their favorite operating system would one day be a popular gaming platform for commercial video ...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Parhaat komentorivipelit Linuxille
Komentorivi ei ole vain suurin liittolainen Linuxia käytettäessä - se voi olla myös viihteen lähde, koska voit käyttää sitä pelaamaan monia hauskoja p...