Etsi ja korvaa teksti voi olla yksinkertainen tehtävä tekstieditorit perusasioissa. Mutta mitä tapahtuu, kun sinun on tehtävä sama tehtävä useissa tiedostoissa samanaikaisesti?
No, asiat monimutkaistuvat siellä ... tai eivät niin paljon. |
Seuraavassa esimerkissä käytämme sedia korvaamaan kaikki sanan "mongo" esiintymät sanalla "aurelio" kaikissa tiedostoissa, joiden tiedostotunniste on .txt ja jotka ovat / home / user / myfolder / kansiossa.
etsi / koti / käyttäjä / oma kansio / -nimi * .txt -exec sed -i "s / mongo / aurelio / g" {} \;
Noin helppoa…
Ennen viimeistelyä kannattaa mainita, että jotkut tekstieditorit sallivat tämän toiminnon suorittamisen graafisen käyttöliittymän avulla. Muun muassa kannattaa tuoda esiin Jedit, Geany, Regexxer jne.
Super
Käytän Geditiä
gedit useille tiedostoille ??? kuten???
Kuinka voisin laittaa grepin ai: n väliin?
Tarvitsen seuraavaa: etsin kotoa kaikki tiedostot, joita kutsutaan index.html ja jotka sisältävät sanan "XXXXXXX", ja korvaa se sanalla "VVVVVVVVV", koska se voidaan tehdä niin, että se etsii vain tiedostot, joilla on merkkijono?
Kiitos paljon !
Käytän myös Geditiä, mutta kiitos paljon
Sinulta puuttuu exec-argumentti. Oikea koodi olisi:
etsi / koti / käyttäjänimi / kansio / -nimi * .txt -exec sed -i "s / mongo / aurelio / g" {} \;
Terveisiä 😀
Olet oikeassa! Kiitos!
Korjasin sen jo. : =)
Yritin juuri tätä (kuten ROOT):
etsi / usr / share / icons / ACYL-Allgray / -nimi * .svg -exec sed -i "s / 666666/000000 / g" {} \;
vaihtaa kokonaisen kuvakesarjan väriä. Totuus on, että se on erittäin tehokas komento, tavallisesti tämä tehtävä olisi ottanut minut tiedostojen muokkaamisesta tunteja.
Lisää tekstiä useisiin tiedostoihin rivin numeron mukaan, tapauksessani rivi 2 (2i), senttiä linux
etsi / koti // public_html / res / -name -exec sed -i "2i \;" {} \;
kaikkia koodeja ei tullut ulos, joten lähetin uudelleen:
etsi / koti / käyttäjä / public_html / res / -nimi tiedostonimi.ext -exec sed -i "2i \ teksti lisättäväksi" {} \;