Kuidas eemaldada tühjad read failist Perl

Haara tühi read Perli skript loote on lihtne asi, mida teha.Võib olla, et midagi on valesti oma faili või siis lihtsalt vajuta Enter klahvi liiga palju kordi.Ükskõik, kuidas see juhtub, järgmine skript eemaldab need tühjad read (isegi siis, kui need sisaldavad peidetud tähemärki).See lühistsenaariumi mitte ainult eemaldab tühje ridu, kuid väljastab Perl faili, mis on kompaktne ja kasutamiseks valmis.

juhised

  1. Kasutage järgmine skript omal või lisada selle osa suuremast script.Tüüp iga rida järgmisi samme järgneb Enter.

  2. faili avada, "filename.ext" või surra "$! \ N";

    See rida avab faili, mis on tühjad read mida soovite eemaldada.The 'või surra "$! \ N" "käsk ütleb skript, et kui on viga, et peatada script ja välja printida viga.

  3. avada OUT "tempfile. $$" Või surra "$! \ N";

    See liin loob ajutist faili et salvestada tulemusi.

  4. ajal (& lt; FAIL & gt;) {

    See liin loob algust loop, mis teeb kogu töö."While" käsk ütleb süsteem, et nii kaua, kui on olemas teine ​​rida

    faili koodi jooksul {ja} tuleb hukata.

  5. kõrval kui / ^ \ s * $ /;

    See tekst ütleb, et testida line, et script on praegu vaadates näha, kui see sisaldab ainult tühimärgi nagu sakk või ruumi.NN "/ ^ \ s * $ /" on test.Kui see on kõik, et see real siis käivita käsk "Edasi", mis jutustab script minna tagasi "while (& lt; FAIL & gt;) {" line saada järgmine rida faili ilma midagi kirjutatakse ajutiseesitada.

  6. välja printida, $ _;
    }

    Kuna "kõrval" käskluse jäi täitmata, siis joon ei tohi olla tühi.Nii, see rida saadab selle teabe printida ajutist faili.NN "}" on osa konteinerisse loop et te abil loodud "ajal."Kui skript kohtab ta skript minna tagasi ", kui" käsk ja üritavad teise rea katsetada.Kui ei ole enam faili ridade, siis loop väljutakse ja skript läheb järgmise käsu.

  7. lähedal FAIL;Sulge välja;

    Pärast pole enam read, et tuleb kontrollida nende kahe käske lähedale nii algse faili ja ajutine fail, mis loodi, mis tähendab, et faili ei saa enam muuta.

  8. ümber ("filename.ext", "filename.bak")
    või surra "Viga ümber: $! \ N";

    See rida sõnastatakse ümber algse faili filename.bak, et ta saaks hoida, kui see on vajalik uuesti.

  9. ümber ("tempfile. $$", "Filename.ext")
    või surra "Viga ümber: $!";

    See rida sõnastatakse ümber ajutise faili loodud nime algne fail, kirjutades esialgse faili uue faili.

    Täidetud script peaks välja nägema selline:

    faili avada, "filename.ext" või surra "$! \ N";
    avada OUT "tempfile. $$" Või surra "$! \ N";
    ajal (& lt; FAIL & gt;) {
    kõrval kui / ^ \ s * $ /;
    välja printida, $ _;
    }
    lähedal FAIL;Sulge välja;
    ümber ("filename.ext", "filename.bak")
    või surra "Viga ümber: $! \ N";
    ümber ("tempfile. $$", "Filename.ext")
    või surra "Viga ümber: $!";

Tips & amp;Hoiatused

  • nimed faile võib olla tee informatsioon lisatakse neile nagu "/this/is/the/path/filename.ext" See on nii skript ei pea panna samasse kaustakui fail töötas.Kui midagi juhtub vastloodud fail lihtsalt ümber varundamisfail "filename.bak" kuni "filename.ext" pöörduda tagasi algse faili.
  • Ole kindel, et sa tõesti vaja eemaldada rida failist.Muidu saab faili kasutuks muutunud.
362
0
2
Perl Programmeerimine