Etsi & Korvaa teksti useissa asiakirjoissa komentoriviltä
Jos olet tyytyväinen komentorivin käyttöön ja olet aina tilanteessa, jossa sinun on löydettävä ja korvattava sana, lause, URL-osoite tai merkki useiden tekstiasiakirjojen ryhmästä, perl tekee työn melko hyvin. Yksinkertainen komentomerkkijono suorittaa erittäin nopeasti ryhmäerähaun ja -korvauksen tekstille, joko yhdessä asiakirjassa tai useiden asiakirjojen ryhmässä.
Kuten monet asiat komentorivillä, vahvistusprosessia ei ole, joten sinun kannattaa varmistaa, että syntaksi on asetettu oikein ennen komennon aloittamista, muuten saatat joutua tekemään toisen etsi ja korvaa korjata kirjoitusvirheesi.
Komennon perussyntaksi on seuraava: perl -pi -w -e 's/THIS/THAT/g;' /polku/tiedostoihin.txt
yksisanainen esimerkki, jos sinun on korvattava kaikki sanan "ogre" esiintymät sanalla "cornbread" jokaisessa .txt-tiedostossa "Dokumentit"-kansiossa, käytä seuraavaa komentoa:
perl -pi -w -e 's/ogre/cornbread/g;' ~/Documents/.txt
esimerkiksi kokonaisen lauseen löytämisestä ja korvaamisesta, oletetaan, että korvaamme koko lauseen "Suklaatehdas " ja "The Wizard of Oz" .txt-tiedostojen ryhmässä, joka alkaa sanalla "Films", joka on tallennettu Documents-hakemistoon:
perl -pi -w -e 's/The Chocolate Factory/The Wizard of Oz/g;' ~/Documents/Films.txt
Etsi ja korvaa heti. Voit tarkistaa muutoksen uudelleen käyttämällä cat- ja grep-komentoa tarkistaaksesi:
kissa ~/Documents/Films124.txt |grep Wizard of Oz"
Tämä on tosin melko edistynyt, ja kyllä, erähaku ja korvaaminen useiden asiakirjojen avulla voidaan tehdä käyttäjäystävällisemmällä tavalla graafisilla sovelluksilla, kuten TextWrangler ja BBEdit, mutta joskus komentorivi on vain nopeampi tämänk altaisia ja muita samank altaisia nopeita tehtäviä varten, eikä sen käyttö vaadi lisälatauksia.
Suuret peukut Lifehackerille erinomaisesta tempusta.
Päivitä: "sed"-komento on toinen tapa tehdä pikahaku ja -korvaus komentorivin kautta. Sed:n kattaminen on enimmäkseen toisen artikkelin aihe, mutta sed:n perussyntaksi tähän tehtävään on hieman yksinkertaisempi ja siten helpompi muistaa:
sed -i 's/THIS/THAT/g' /polku/tiedostot.txt
Ei ole olemassa oikeaa tai väärää tapaa, joten perl- tai sed-koodin käyttö riippuu henkilökohtaisista mieltymyksistä.