Shell Script - Kopioi teksti yhdestä tiedostosta toiseen

Linux on erittäin vankka käyttöjärjestelmä, joka vaatii paljon käytäntöä ja tietoa. Koska kuitenkin alkaa käyttää Linuxia säännöllisesti, tiedostojen käsittely, kopiointi, shell-skripti kaikki muuttuu melko vaivattomaksi ja yksinkertaiseksi. Jos sinulla on ongelmia kopioimalla tekstiä tiedostoon toiseen, kun käytät shell-skriptiä, lue alla oleva artikkeli. Jopa joku uusi

Ongelma

Minun täytyy kopioida teksti alku- ja loppukuvion välillä tiedostosta toiseen.

Esimerkiksi,

Oletetaan, että minulla on tiedosto, jonka sisältö on seuraava:

 Hei world1 Hei world2 Hei world3 Hei world4 Hei world5 piippaus 

Tarvitsen shell-komentosarjan, joka voi tuottaa seuraavan tiedoston:

 Hei world2 Hei world3 Hei world4 Hei world5 piippaus 

En tiedä kopioitavan alueen rivinumeroita, haluan vain kopioida "hello world2": n esiintymisestä "hello world5" + 1 rivin esiintymiseen

Jos olet miettinyt, mitä yritän tehdä täällä, haluan ajaa koneen kierre-dumpin tappamalla -3, mutta tämän tuotos menee tavalliseen ulostuloon, joka minun tapauksessani ohjataan jboss-tiedostoon, jossa on siinä on paljon muita lokejä. Joten haluan suorittaa tämän komentosarjan poistaaksesi lankan kaatopaikat erilliseen tiedostoon, kun tappaminen on suoritettu. On tarpeetonta sanoa, että jboss.out-tiedostossa voi olla useampi kuin yksi kierteenkorotus.

Ratkaisu

Yksinkertaisin tapa, jos syötetiedosto on /folder/somefile.txt,

 # Script lines.txt # Lue syötetiedosto merkkijonon muuttujaan. var str input; cat "/folder/somefile.txt"> $ input # Poista kaikki ennen "hello world2". stex "] ^ hello world2 ^" $ input> null # Poista kaikki "hello world5n" jälkeen. stex "^ hello world5n ^ [" $ input> null # $ -tulolla on nyt vain haluttu osa. Tulosta se. echo $ input 

TheScript on biterscriptingissa (//www.biterscripting.com). Voit yrittää tallentaa komentosarjan nimellä /Scripts/lines.txt, aloittaa biterscripting ja syöttää seuraava komento.

script lines.txt

Komentosarjan voi myös kutsua suoraan toisesta ohjelmasta tai muusta kuoresta, kuten,

/biterScripting/biterScripting.exe lines.txt

Varmista, että käytät oikeaa tiedoston sijaintia /folder/somefile.txt-tiedoston sijaan. Huomaa merkkijononpoistokomennon syntaksin kaksois lainausmerkit ^, [ja]. Voit vapaasti kääntää komentosarjan muille kielille.

Huomautus

Kiitos SenHulle tästä vinkistä foorumissa.

Edellinen Artikkeli Seuraava Artikkeli

Top Vinkkejä