Syntaksi
Grep [kuvio] [tiedostonimi]
Grepin käytön jälkeen tulee kuvio. Kuvio viittaa tapaan, jolla haluamme käyttää sitä ylimääräisen tilan poistamiseen tiedoista. Kuvion jälkeen kuvataan tiedostonimi, jonka kautta kuvio suoritetaan.
Edellytys
Jotta voisimme ymmärtää grepin hyödyllisyyden helposti, meidän on asennettava Ubuntu järjestelmäämme. Anna käyttäjän tiedot antamalla käyttäjätunnus ja salasana, joilla on käyttöoikeudet käyttää Linux-sovelluksia. Kun olet kirjautunut sisään, avaa sovellus ja etsi päätelaite tai käytä pikanäppäintä ctrl + alt + T.
Käyttämällä [: blank:] avainsanaa
Oletetaan, että meillä on tiedosto nimeltä bfile, jolla on tekstilaajennus. Voit luoda tiedoston joko tekstieditorissa tai komentorivillä päätelaitteessa. Luo päätelaitteeseen tiedosto, joka sisältää seuraavat komennot.
$ Echo "tiedostoon syötettävä teksti"> tiedostonimi.txtTiedostoa ei tarvitse luoda, jos se on jo läsnä. Näytä se vain liitteenä olevan komennon avulla:
$ echo-tiedostonimi.txtNäihin tiedostoihin kirjoitettu teksti sisältää välilyöntejä alla olevan kuvan mukaisesti.
Nämä tyhjät rivit voidaan poistaa tyhjällä komennolla sivuuttaakseen tyhjät välit sanojen tai merkkijonojen välillä.
$ egrep '^ [[: blank]] * [^ [: blank:] #]' bfile.txt
Kyselyn soveltamisen jälkeen rivien väliset tyhjät tilat poistetaan, eikä lähtö enää sisällä ylimääräistä tilaa. Ensimmäinen sana korostetaan poistamalla välilyönnit rivin viimeisen sanan ja seuraavan rivin ensimmäisten sanojen välillä. Voimme myös soveltaa ehtoja samaan grep-komentoon lisäämällä tämän tyhjän toiminnon poistamaan turha tila lähdöstä.
Käyttämällä [: välilyönti:]
Toinen esimerkki avaruuden huomiotta jättämisestä selitetään tässä.
Mainitsematta tiedostotunnistetta, näytämme ensin olemassa olevan tiedoston komennolla.
$ kissa tiedosto20
Katsotaanpa, kuinka ylimääräinen tila poistetaan käyttämällä grep-komentoa avainsanan [: space:] lisäksi. Grepin -v -vaihtoehto auttaa tulostamaan viivoja, joista puuttuu tyhjiä viivoja ja ylimääräisiä välejä, jotka sisältyvät myös kappalemuotoon.
$ grep -v '^ [[; välilyönti:]] * $' tiedosto20Näet, että ylimääräiset rivit poistetaan ja tulosteet on järjestetty rivijärjestyksessä. Siten grep -v-menetelmä on niin hyödyllinen vaaditun tavoitteen saavuttamisessa.
Tiedostotunnisteiden mainitseminen rajoittaa grep-toiminnallisuutta vain tietyille tiedostotunnisteille, ts.e., .teksti tai .mp3. Kun suoritamme kohdistuksen tekstitiedostoon, otamme tiedoston.txt esimerkkitiedostona. Ensin näytämme siinä olevan tekstin $ cat -toiminnon avulla. Tuotos on seuraava:
Komennoa soveltamalla saadaan tiedostomme. Täällä voimme nähdä tietoja ilman väliä rivien välillä, jotka on kirjoitettu peräkkäin.
$ grep -v '^ [[: välilyönti]] * $' tiedosto.txt
Pitkien komentojen lisäksi voimme myös käyttää lyhyitä kirjoitettuja komentoja Linuxissa ja Unixissa, jotta grep tukee lyhytmerkkejä.
$ grep '\ s' tiedostonimi.txtOlemme nähneet, kuinka tulos saadaan käyttämällä komentoja tulosta. Täällä opimme, miten tulo ylläpidetään takaisin tuotoksesta.
$ grep '\ S' tiedostonimi.txt> tmp.txt && mv tmp.txt-tiedostonimi.txtTässä käytetään väliaikaista tekstitiedostoa, jonka laajennus on tmp.
Käyttämällä ^ #
Aivan kuten muutkin kuvatut esimerkit, käytämme komentoa tekstitiedostossa käyttämällä cat-komentoa. Voimme näyttää tekstiä myös kaikukomennolla.
$ echo-tiedostonimi.txtTekstitiedosto sisältää 4 riviä, joiden välissä on tilaa. Nämä välirivit poistetaan helposti tietyllä komennolla.
$ grep -Ev "^ # | ^ $" tiedostonimi
Säännölliset laajennetut toiminnot otetaan käyttöön -E: llä, mikä sallii kaikki säännölliset lausekkeet, erityisesti putken. Putkea käytetään valinnaisena “tai” -ehtona missä tahansa kuviossa.”^ #”. Tämä osoittaa tekstirivien vastaavuuden tiedostossa, joka alkaa merkillä #. ”^ $” Vastaa kaikkia tekstin tai tyhjien rivien vapaita paikkoja.
Tulos näyttää ylimääräisen tilan täydellisen poistamisen datatiedostossa olevien rivien välillä. Tässä esimerkissä olemme nähneet, että komennossa "^ #" tulee ensin, mikä tarkoittaa, että teksti sovitetaan ensin. "^ $" Tulee | operaattori, joten vapaa tila sovitetaan jälkeenpäin.
Käyttämällä ^ $
Aivan kuten yllä mainitussa esimerkissä, saamme samat tulokset, koska komento on melkein sama. Kuvio on kuitenkin kirjoitettu vastakkain. Tiedosto22.txt on tiedosto, jota aiomme käyttää välilyöntien poistamiseen.
$ grep -v '^ $ | ^ #' tiedostonimi
Samaa menetelmää käytetään paitsi työskentely etusijalla. Tämän komennon mukaan ensin sovitetaan vapaat tilat ja sitten tekstitiedostot. Tulos tarjoaa rivijonon poistamalla ylimääräiset aukot niissä.
Muut yksinkertaiset komennot
- Grep '^…' tiedostonimi.
- Grep '.' Tiedoston nimi
Nämä molemmat ovat niin yksinkertaisia ja auttavat poistamaan aukkoja tekstiriveillä.
Johtopäätös
Hyödyllisten aukkojen poistaminen tiedostoista säännöllisten lausekkeiden avulla on melko helppo tapa saavuttaa sujuva datasarja ja säilyttää yhtenäisyys. Esimerkkejä selitetään yksityiskohtaisesti, jotta saat parempia tietoja aiheesta.