grep

Kaip aš nepaisau tuščių eilučių Grep?

Kaip aš nepaisau tuščių eilučių Grep?
Grepas reiškia Visuotinis reguliariosios išraiškos spausdinimas. Jis turi daug funkcionalumų, t.e., paieška faile, paieška tik failo pavadinimuose, grep rekursyviai ir kt. „Grep“ yra laikoma galinga komanda paieškos sektoriuje. Daugeliu atvejų mes susiduriame su situacijomis, kai mums nereikia tarpų arba reikia pašalinti nepageidaujamas duomenų spragas. Vienas iš įdomiausių grep naudojimo būdų yra tuščių eilučių ignoravimas arba pašalinimas iš teksto failo. Ši procedūra atliekama pateikiant skirtingus pavyzdžius. Tai failo redagavimo operacija. Norėdami atlikti šį tikslą, turime turėti esamus failus savo sistemoje. Naudodami komandą grep, mes leidžiame atspausdinti duomenis be tuščių eilučių.

Sintaksė

Grep [modelis] [failo pavadinimas]

Panaudojus grep, atsiranda modelis. Šablonas reiškia, kaip mes norime jį naudoti pašalindami papildomą vietą duomenyse. Po modelio aprašomas failo pavadinimas, per kurį modelis atliekamas.

Būtina sąlyga

Norėdami lengvai suprasti „grep“ naudingumą, turime turėti „Ubuntu“, įdiegtą mūsų sistemoje. Pateikite išsamią vartotojo informaciją pateikdami vartotojo vardą ir slaptažodį, kad turėtumėte privilegijas pasiekti „Linux“ programas. Prisijungę atidarykite programą ir ieškokite terminalo arba pritaikykite spartųjį klavišą „ctrl + alt + T“.

Naudojant raktinį žodį [: blank:]

Tarkime, kad turime failą pavadinimu „bfile“, turintį teksto plėtinį. Galite sukurti failą teksto rengyklėje arba naudodami komandą eilutėje terminale. Norėdami sukurti failą terminale, įskaitant šias komandas.

$ Echo „tekstas, kurį reikia įvesti į failą“> failo pavadinimas.txt

Nereikia kurti failo, jei jis jau yra. Tiesiog parodykite jį naudodami pridėtą komandą:

$ echo failo vardas.txt

Šiuose failuose parašytame tekste yra tarpai tarp jų, kaip parodyta toliau pateiktame paveikslėlyje.

Šias tuščias eilutes galima pašalinti naudojant tuščią komandą, kad būtų ignoruojami tušti tarpai tarp žodžių ar eilučių.

$ egrep '^ [[: blank]] * [^ [: blank:] #]' bfile.txt

Pritaikius užklausą, tušti tarpai tarp eilučių bus pašalinti, o išvestyje nebebus vietos. Pirmasis žodis paryškinamas, kai tarpai tarp paskutinio eilutės žodžio ir tarp pirmosios kitos eilutės žodžių yra pašalinami. Mes taip pat galime taikyti sąlygas tai pačiai komandai grep, pridėdami šią tuščią funkciją, kad išvestyje būtų pašalinta nenaudinga vieta.

Naudojant [: tarpą:]

Čia paaiškintas kitas erdvės ignoravimo pavyzdys.

Neminėdami failo plėtinio, pirmiausia parodysime esamą failą naudodami komandą.

$ cat failas20

Pažvelkime, kaip pašalinama papildoma vieta, naudodami komandą grep šalia raktinio žodžio [: space:]. „Grep“ parinktis -v padės spausdinti eilutes, kuriose nėra tuščių eilučių ir papildomų tarpų, kurie taip pat yra pastraipos formoje.

$ grep -v '^ [[; tarpas:]] * $' failas20

Pamatysite, kad papildomos eilutės pašalinamos, o išvestis išdėstyta eilės tvarka. Štai kaip „grep -v“ metodika yra tokia naudinga norint pasiekti reikiamą tikslą.

Paminėjus failų plėtinius, „grep“ funkcija ribojama tik tam tikriems failų plėtiniams, t.e., .tekstas arba .mp3. Atlikdami teksto failo lygiavimą, paimsime failą.txt kaip failo pavyzdį. Pirmiausia, naudodami funkciją $ cat, parodysime joje esantį tekstą. Rezultatas yra toks:

Taikant komandą, buvo gautas mūsų išvesties failas. Čia mes galime matyti duomenis be tarpų tarp eilės, kurios rašomos iš eilės.

$ grep -v '^ [[: tarpas:]] * $' failas.txt

Be ilgų komandų, mes taip pat galime eiti su trumpomis parašytomis komandomis sistemose „Linux“ ir „Unix“, kad įdiegtume „grep“ palaikančius trumpuosius simbolius.

$ grep '\ s' failo vardas.txt

Mes matėme, kaip gaunama išvestis, naudojant komandas iš įvesties. Čia sužinosime, kaip įvestis palaikoma atgal iš išvesties.

$ grep '\ S' failo vardas.txt> tmp.txt && mv tmp.txt failo pavadinimas.txt

Čia mes naudosime laikiną teksto failą su plėtiniu, pavadintu tmp.

Naudojant ^ #

Kaip ir kitus aprašytus pavyzdžius, komandoje tekstą naudosime naudodami komandą cat. Taip pat galime atvaizduoti tekstą naudodami komandą echo.

$ echo failo vardas.txt

Teksto faile yra 4 eilutės, tarp kurių yra tarpas. Šios tarpinės linijos lengvai pašalinamos naudojant tam tikrą komandą.

$ grep -Ev "^ # | ^ $" failo vardas

Reguliarias išplėstines operacijas įgalina -E, kuris leidžia naudoti visas taisyklingąsias išraiškas, ypač „pipe“. Vamzdis naudojamas kaip pasirinktinė bet kokio modelio „arba“ sąlyga.”^ #”. Tai rodo failo, prasidedančio ženklu #, teksto eilučių atitiktį. „^ $“ Atitiks visas laisvas vietas tekste arba tuščiose eilutėse.

Išvestis rodo, kad visiškai pašalintas papildomas tarpas tarp duomenų faile esančių eilučių. Šiame pavyzdyje mes matėme, kad komandoje „^ #“ yra pirmas, o tai reiškia, kad pirmiausia suderinamas tekstas. „^ $“ Atsiranda po | operatorius, todėl laisva vieta yra suderinta vėliau.

Naudojant ^ $

Kaip ir aukščiau paminėtas pavyzdys, taip pat gausime tuos pačius rezultatus, nes komanda yra beveik ta pati. Tačiau modelis rašomas priešingai. Failas22.txt yra failas, kurį ketiname naudoti pašalindami tarpus.

$ grep -v '^ $ | ^ #' failo vardas

Taikoma ta pati metodika, išskyrus darbą su pirmenybe. Pagal šią komandą pirmiausia bus suderintos laisvos vietos, tada bus suderinti tekstiniai failai. Išvestis pateiks eilučių seką pašalindama papildomas jų spragas.

Kitos paprastos komandos

Jie abu yra tokie paprasti ir padeda pašalinti teksto eilučių spragas.

Išvada

Nenaudingų failų spragų pašalinimas naudojant įprastas išraiškas yra gana lengvas būdas pasiekti sklandžią duomenų seką ir išlaikyti nuoseklumą. Pavyzdžiai yra išsamiai paaiškinti, kad jūsų informacija apie temą būtų geresnė.

Populiariausi „Oculus App Lab“ žaidimai
Jei esate „Oculus“ laisvų rankų įrangos savininkas, turite žinoti, kaip krauti iš šono. Šoninis įkėlimas yra ne parduotuvėje esančio turinio įdiegimas...
10 geriausių žaidimų, kuriuos reikia žaisti naudojant „Ubuntu“
„Windows“ platforma buvo viena iš dominuojančių žaidimų platformų dėl didžiulio procento žaidimų, kurie šiandien kuriami natūraliai palaikant „Windows...
5 geriausi „Arcade“ žaidimai, skirti „Linux“
Šiais laikais kompiuteriai yra rimta mašina, naudojama žaidimams. Jei negalėsite gauti naujo aukšto rezultato, žinosite, ką noriu pasakyti. Šiame įraš...