Sintakse
Grep [modelis] [faila nosaukums]
Pēc grep izmantošanas parādās modelis. Šis modelis nozīmē to, kā mēs vēlamies to izmantot, lai noņemtu papildu vietu datos. Pēc parauga tiek aprakstīts faila nosaukums, caur kuru tiek izpildīts modelis.
Priekšnoteikums
Lai viegli saprastu grep lietderību, mūsu sistēmā ir jābūt instalētam Ubuntu. Norādiet lietotāja informāciju, norādot lietotājvārdu un paroli, lai iegūtu privilēģijas piekļūt Linux lietojumprogrammām. Pēc pieteikšanās atveriet lietojumprogrammu un meklējiet termināli vai lietojiet īsinājumtaustiņu Ctrl + Alt + T.
Izmantojot atslēgvārdu [: blank:]
Pieņemsim, ka mums ir fails ar nosaukumu bfile ar teksta paplašinājumu. Failu var izveidot teksta redaktorā vai ar komandrindu terminālā. Lai izveidotu failu terminālā, iekļaujot šādas komandas.
$ Echo “failā ievadāms teksts”> faila nosaukums.txtNav nepieciešams izveidot failu, ja tas jau ir. Vienkārši parādiet to, izmantojot pievienoto komandu:
$ echo faila nosaukums.txtŠajos failos rakstītais teksts satur atstarpes starp tām, kā redzams zemāk redzamajā attēlā.
Šīs tukšās rindas var noņemt, izmantojot tukšu komandu, lai ignorētu tukšās atstarpes starp vārdiem vai virknēm.
$ egrep '^ [[: blank]] * [^ [: blank:] #]' bfile.txt
Pēc vaicājuma lietošanas tukšās atstarpes starp rindām tiks noņemtas, un izvadā vairs nebūs papildu vietas. Pirmais vārds tiek izcelts, jo tiek noņemtas atstarpes starp rindas pēdējo vārdu un nākamās rindas pirmajiem vārdiem. Mēs varam arī piemērot nosacījumus tai pašai komandai grep, pievienojot šo tukšo funkciju, lai izvades vietā noņemtu bezjēdzīgu vietu.
Izmantojot [: atstarpi:]
Šeit ir izskaidrots vēl viens kosmosa ignorēšanas piemērs.
Neminot faila paplašinājumu, vispirms parādīsim esošo failu, izmantojot komandu.
$ kaķu fails20
Apskatīsim, kā tiek noņemta papildu telpa, izmantojot komandu grep blakus atslēgvārdam [: space:]. Grepa opcija -v palīdzēs drukāt līnijas, kurās trūkst tukšu līniju un papildu atstarpes, kas ir iekļauta arī rindkopu formā.
$ grep -v '^ [[; atstarpe:]] * $' fails20Jūs redzēsiet, ka papildu rindas tiek noņemtas un izvade ir secīgi veidota pa līnijām. Tieši tā grep -v metodika ir tik noderīga, lai iegūtu nepieciešamo mērķi.
Failu paplašinājumu pieminēšana ierobežo grep funkcionalitāti, lai tā darbotos tikai konkrētajos failu paplašinājumos, t.e., .tekstu vai .mp3. Veicot teksta faila izlīdzināšanu, mēs ņemsim fileg.txt kā faila paraugu. Pirmkārt, mēs parādīsim tajā esošo tekstu, izmantojot funkciju $ cat. Rezultāts ir šāds:
Izmantojot komandu, ir iegūts mūsu izvades fails. Šeit mēs varam redzēt datus bez atstarpēm starp secīgi rakstītajām rindām.
$ grep -v '^ [[: atstarpe:]] * $' fileg.txt
Bez garām komandām mēs varam arī izmantot īsās rakstītās komandas Linux un Unix, lai ieviestu grep atbalsta tajā rakstītās rakstzīmes.
$ grep '\ s' faila nosaukums.txtMēs esam redzējuši, kā tiek iegūta izeja, pielietojot komandas no ievades. Šeit mēs uzzināsim, kā ievade tiek saglabāta atpakaļ no izejas.
$ grep '\ S' faila nosaukums.txt> tmp.txt && mv tmp.txt faila nosaukums.txtŠeit mēs izmantosim pagaidu teksta failu ar teksta paplašinājumu ar nosaukumu tmp.
Izmantojot ^ #
Tāpat kā citi aprakstītie piemēri, mēs komandu izmantosim teksta failā, izmantojot komandu cat. Mēs arī varam parādīt tekstu, izmantojot atbalss komandu.
$ echo faila nosaukums.txtTeksta failā ir 4 rindas, atstarpes starp tām. Šīs atstarpes līnijas var viegli noņemt, izmantojot noteiktu komandu.
$ grep -Ev "^ # | ^ $" faila nosaukums
Regulāras paplašinātas darbības iespējo -E, kas ļauj izmantot visas regulārās izteiksmes, īpaši caurules. Caurule tiek izmantota kā izvēles nosacījums “vai” jebkuram modelim.”^ #”. Tas parāda teksta rindiņu atbilstību failā, kas sākas ar zīmi #. “^ $” Sakritīs ar visām brīvajām vietām tekstā vai tukšajās rindiņās.
Izeja parāda pilnīgu papildu vietas noņemšanu starp datu failā esošajām rindām. Šajā piemērā mēs redzējām, ka komandā pirmais ir “^ #”, kas nozīmē, ka pirmais tiek saskaņots ar tekstu. “^ $” Nāk pēc | operators, tāpēc pēc tam tiek saskaņota brīva vieta.
Izmantojot ^ $
Gluži tāpat kā iepriekš minētais piemērs, mums būs tādi paši rezultāti, jo komanda ir gandrīz vienāda. Tomēr modelis ir rakstīts pretēji. 22. fails.txt ir fails, kuru mēs izmantosim atstarpju noņemšanai.
$ grep -v '^ $ | ^ #' faila nosaukums
Tiek izmantota tā pati metodika, izņemot darbu ar prioritāti. Saskaņā ar šo komandu vispirms tiks saskaņotas brīvās vietas, pēc tam tiek saskaņoti teksta faili. Izeja nodrošinās līniju secību, novēršot tajās papildu atstarpes.
Citas vienkāršas komandas
- Grep '^…' faila nosaukums.
- Grep '.' Faila nosaukums
Tie abi ir tik vienkārši un palīdz novērst nepilnības teksta rindiņās.
Secinājums
Bezjēdzīgu failu trūkumu novēršana ar regulāru izteiksmju palīdzību ir diezgan vienkārša pieeja, lai panāktu vienmērīgu datu secību un saglabātu konsekvenci. Piemēri ir sīki izskaidroti, lai uzlabotu informāciju par tēmu.