Dažreiz failā var būt nepieciešams meklēt noteiktu vārdu vai virkni. Lai to izdarītu, gandrīz katram teksta redaktoram ir kāda GUI ieviešana, kas jums palīdzēs. Bet Linux lietotājiem ir daudz produktīvāk un ērtāk veikt šos meklējumus no komandrindas.
Faktiski Linux ir spēcīga un ērta komandrindas utilīta - šim nolūkam paredzēta komanda grep. Izmantojot šo, jūs varat meklēt konkrētu virkni ne tikai vienā failā, bet arī vairākos failos, lai iegūtu visaptverošāku meklēšanu.
Tomēr, pirms varat izmantot komandu grep, vispirms jāzina, kā tā darbojas, un tās sintakse. Lai palīdzētu jums, mēs esam izveidojuši detalizētu rokasgrāmatu par grep komandas izmantošanu, lai palīdzētu jums atrast virknes failā Linux. Ne tikai tas, bet mēs arī parādīsim, kā meklēt virknes failos, izmantojot komandrindas teksta redaktoru un GUI teksta redaktoru.
Piezīme: Šai apmācībai mēs esam izveidojuši divus demonstrācijas teksta failus - demofile.txt un demofile02.txt. Mēs izmantosim komandu grep, lai šajos failos atrastu virknes. Šeit ir apskatīts abu šo failu saturs, lai jūs zināt, kā darbojas komandas.
Demofile saturs.txt:
Šis ir demonstrācijas fails, kuru esmu izveidojis demonstrācijas vajadzībām. Tas satur virkni vārdu, lai izveidotu teikumus, kas beidzot beidzas ar punktu. Tas ir par grep piemēru.
Demofile02 saturs.txt:
Šis ir vēl viens demonstrācijas fails, kuru izmantošu šai demonstrācijai. Šis ir līdzīgs pēdējam, jo tajā ir trīs rindas ar dažiem vārdiem. Šis otrais fails palīdzēs sniegt dažādus piemērus.
Virknes atrašana failā, izmantojot komandrindu (GREP metode)
GREP ir saīsinājums no globālās regulārās izteiksmes drukas. Tas ir “globāls”, jo tas var meklēt visā jūsu Linux sistēmā. “Regulārā izteiksme” ir tas, ko mēs saucam par teksta meklēšanas modeli, kuru izmantosim ar komandu. Un “Drukāt” nozīmē, ka tas izdrukās meklēšanas rezultātus, tiklīdz atradīs atbilstību, pamatojoties uz sniegto regulāro izteiksmi.
Tagad, kad jums ir ideja par grep komandu, redzēsim, kā mēs to varam izmantot. Šeit ir sintakse komandas grep izmantošanai, lai atrastu virkni failā:
$ grep virkne faila nosaukums
Izteiciens “virkne” būs jāaizstāj ar “regulāro izteiksmi”, kuru vēlaties izmantot, un “faila nosaukums” ar faila nosaukumu, kurā vēlaties meklēt virkni.
# 1. Izmantojot GREP, lai atrastu virkni vienā failā
Pieņemsim, ka, ja vēlaties meklēt vārdu “demonstrācija” failā “demofile.txt, ”jums būs jāizmanto šī komanda:
demonstrācijas demofails $ grep.txt
Kas dod rezultātu:
Kā redzat, komanda ienes visu līniju, kurā ir iekļauta virkne. Ja norādītā virkne notiek vairākās rindās, tā visas tās izdrukās. Apskatīsim, vai tas darbojas, meklējot virkni “Šis” sadaļā “demofails.txt ”fails.
$ grep Šis demofails.txt
Un izeja ir:
Ievērojiet, kā vispirms izmantojāt virkni “this”, un tā neko nedrukāja. Tikai tad, kad ievadāt “Šis”, jūs saņemat spēli. Kā tāds, jums jāatceras, ka komandā grep ir reģistrjutīgi.
Lai ignorētu gadījumu, jums tā vietā jāievada šī komanda:
$ grep -i šis demofails.txt
Kā redzat tagad, pat ja norādītā virkne ir “šī”, komanda atbilst “Šis” un izdrukā šo atbildi.
# 2. Izmantojot GREP, lai atrastu vienu un to pašu virkni vairākos failos
Lai meklētu norādīto virkni vairākos failos, viss, kas jums jādara, ir jāpievieno komanda ar visiem failu nosaukumiem.
Šeit ir piemērs. Šeit mēs meklējam virkni “vārdi” failos “demofile.txt ”un“ demofile02.txt ”:
$ grep words demofile.txt demofile02.txt
Un izeja ir:
Kā redzat, komanda grep ne tikai parādīs atbilstošo rezultātu, bet arī ērti iezīmēs, no kura faila tas ir.
# 3. Izmantojot GREP, lai atrastu vairākas virknes vairākos failos
Varat arī izmantot grep, lai atrastu vairākas virknes vienā vai vairākos failos. Šī ir sintakse, kas jums būs jāizmanto:
$ grep -E 'modelis1 | raksts2 | raksts3 |…' faila nosaukums1 faila nosaukums2 faila nosaukums3 ..
Ievadītā opcija -E izturas pret šo modeli kā paplašinātu regulāru izteiksmi, kas ļauj meklēt vairākas virknes.
Tagad izmantosim iemācīto, lai meklētu virknes “fails” un “vārdi” divos failos: “demofile.txt ”un“ demofile02.txt ”:
$ grep -E 'fails | vārds' demofails.txt demofile02.txt
Un izeja ir:
# 4. Padomi un ieteikumi, kā izmantot komandu GREP, lai atrastu virknes
Neskatoties uz kopējo vienkāršību, grep komanda ir ārkārtīgi spēcīga. Šeit ir daži veidi, kā jūs varat izmantot komandu grep, lai meklētu virknes.
Piemēram, vai zinājāt, ka varat izmantot komandu grep ar aizstājējzīmēm? Apsvērsim šo komandu:
$ grep word demofile *
Kas dod rezultātu:
Kā redzat, komanda ir meklējusi un tagad parāda abu failu “demofile.txt ”un“ demofile02.txt ”. Tas ir tāpēc, ka mēs izmantojām zvaigznīti (*) aizstājējzīmi, ko izmanto, lai attēlotu vienu vai vairākus jebkuras rakstzīmes gadījumus.
Lai iegūtu papildinformāciju par dažādiem aizstājējzīmju veidiem un to izmantošanu, varat apskatīt šo rakstu: Linux aizstājējzīmes izskaidrotas ar 10 piemēriem.
Turpinot, grep komanda atbalsta arī daudz komandu opciju. Divus no tiem mēs jau esam redzējuši:
- -i: izmanto, lai ignorētu lietu.
- -E: izmanto, lai traktētu šādu virkni kā paplašinātu regulāru izteiksmi.
Ir daudz citu grep komandu opciju, piemēram:
- -r: veiciet rekursīvu meklēšanu.
- -c: saskaita virknes parādīšanās reižu kopskaitu.
- -n: izdrukājiet līnijas numuru vietā, kur radās virkne.
- -o: drukājiet tikai atbilstošo virkni un neizdrukājiet visu līniju.
Visam, ko mēs līdz šim apspriedām, vajadzētu būt daudz, lai palīdzētu jums meklēt virknes failos. Tomēr, ja vēlaties apgūt komandu GREP, iesakām iepazīties ar šiem diviem rakstiem:
- Izmantojot GREP komandu Linux ar piemēriem
- 5 galvenie GREP komandas lietojumi Linux
Atrodiet virknes failā, izmantojot komandrindu (izmantojot komandrindas teksta redaktorus)
Grep komanda ir spēcīgs rīks, kas var palīdzēt veikt papildu meklējumus, lai virknes saskaņotu ar vairākiem failiem un direktorijiem Linux datorā. Tomēr, ja fails jau ir atvērts komandrindas teksta redaktorā, nav nepieciešams iziet no failu redaktora un izmantot komandu grep.
Faktiski lielākajai daļai komandrindas teksta redaktoru jau ir iebūvēta meklēšanas funkcionalitāte.
Tagad ir ārpus šīs apmācības darbības jomas, lai aptvertu katru atsevišķu komandrindas teksta redaktoru un kā atrast virknes failā, kas atvērts šajā teksta redaktorā. Tādējādi mēs aplūkosim divus populārākos komandrindas teksta redaktorus, kurus jūs noteikti izmantosit:
Kā atrast teksta virkni nano valodā?
Pieņemsim, ka fails ir atvērts nano teksta redaktorā. Tādā gadījumā viss, kas jums jādara, ir nospiest Ctrl + W, un jūs atradīsit jaunu uzvedni, lai ierakstītu virkni.
Kad tas ir izdarīts, nospiediet taustiņu Enter, un kursors nonāks pie meklētās virknes pirmās parādīšanās pirmās rakstzīmes. Varat turpināt nospiest taustiņu Enter, lai pārietu uz citām virkņu instancēm, ja tādas ir.
Kā atrast teksta virkni VIM?
Ja izmantojat vim teksta redaktoru, varat ierakstīt: /, kam seko virkne, kuru vēlaties meklēt, un pēc tam nospiediet taustiņu Enter. Līdzīgi kā iepriekš, tas novirzīs kursoru uz pirmo meklētās virknes parādīšanos. Arī šeit jūs varat turpināt nospiest taustiņu Enter, lai pārietu uz citiem virknes gadījumiem.
Atrodiet virknes failā, izmantojot komandrindu (GUI metode)
Ir pat GUI metode virkņu atrašanai failā. Būtībā tas ir līdzīgs funkcijai “atrast un aizstāt”, kuru redzat Microsoft Word; tomēr tas mainīsies atkarībā no izmantotā GUI teksta redaktora.
Tagad, kā jūs zināt, ir simtiem teksta redaktoru, un šeit nav lietderīgi tos visus aplūkot. Tomēr visi no tiem darbojas līdzīgi, tāpēc jums nebūs problēmu sadarboties ar citiem, tiklīdz zināt, kā darbojas viens no viņiem.
Šajā apmācībā mēs izmantosim noklusējuma teksta redaktoru, kas nāk ar Ubuntu, ar nosaukumu - “Teksta redaktors.”
Kā redzat no attēla, mēs esam atvēruši demofailu.txt redaktorā. Tagad mēs noklikšķinām uz nolaižamās izvēlnes, kas parāda opcijas “Atrast” un “Atrast un aizstāt”, kuras mēs varam izmantot, lai atrastu visas virknes atvērtajā failā.
Iesaiņošana
Tātad tas noved mūs pie šīs īsās apmācības beigām par virkņu atrašanu failā Linux. Mēs ceram, ka jums tas būs noderīgi un tas palīdzēs jums kļūt produktīvākiem, meklējot noteiktas virknes savā Linux sistēmā.
Ja jums ir kādi jautājumi, atstājiet mums komentāru, un mēs noteikti jums palīdzēsim ar jautājumiem.
Ja sākat darbu ar Linux, neaizmirstiet apskatīt mūsu sēriju Learn Linux. Tas ir piepildīts ar daudzām lieliskām apmācībām, pamācībām un ceļvežiem, kas paredzēti iesācējiem un pieredzējušākiem lietotājiem, lai palīdzētu jums kļūt par īstu Linux enerģijas lietotāju.