Foje, uzantoj alfrontas la bezonon serĉi certajn informojn en iuj ajn dosieroj. Ofte, agordaj dokumentoj aŭ aliaj volumenaj datumoj enhavas multon da linioj, do ne eblas permane trovi la necesajn datumojn. Unu el la enkonstruitaj komandoj en Linuksaj operaciumoj venas al la rekupero, kio permesos vin trovi liniojn laŭvorte en sekundo.
Uzante grep komando sur Linukso
Rilate al la diferencoj inter Linuksaj distribuaĵoj, ĉi-kaze ili ludas nenian rolon, ĉar la teamo interesas vin grep Defaŭlte ĝi haveblas en plej multaj asembleoj kaj estas aplikata ekzakte. Hodiaŭ ni ŝatus diskuti ne nur agadon grep, sed ankaŭ por analizi la ĉefajn argumentojn, kiuj povas multe simpligi la serĉan procezon.
Vidu ankaŭ: Serĉante dosierojn en Linukso
Prepara laboro
Ĉiuj pliaj agoj realiĝos per la norma konzolo, ĝi ebligas al vi ankaŭ malfermi dosierojn nur specifante la plenan vojon al ili, aŭ se "Terminalo" lanĉita de la necesa dosierujo. Vi povas ekscii la gepatran dosierujon de dosiero kaj navigi al ĝi en la konzolo jene:
- Kuru la dosiera administranto kaj navigu al la dezirata dosierujo.
- Dekstre alklaku la deziratan dosieron kaj elektu "Nemoveblaĵoj".
- En la langeto "Baza" legi la linion "Gepatra dosierujo".
- Nun kuru "Terminalo" konvena metodo, ekzemple, per la menuo aŭ per la premado de la kombinaĵo de klavoj Ctrl + Alt + T.
- Jen, iru al la dosierujo per la komando
cd / home / uzanto / dosierujo
kie uzanto - salutnomo, kaj dosierujo - nomo de la dosierujo.
Engaĝi la teamonkato + dosiernomo
se vi volas vidi la plenan enhavon. Por detalaj instrukcioj pri laborado kun ĉi tiu teamo, vidu nian alian artikolon ĉe la suba ligo.
Legu Pli: Ekzemploj pri Komando pri Katoj sur Linukso
Farante la supre, vi povas uzi grep, estante en la necesa dosierujo, sen specifi la plenan vojon al la dosiero.
Norma Enhavo-Serĉo
Antaŭ ol pripensi ĉiujn disponeblajn argumentojn, estas grave noti regulan serĉon pri la enhavo. Ĝi estos utila en tiuj momentoj, kiam vi bezonas trovi simplan kongruon laŭ valoro kaj aperigi ĉiujn koncernajn liniojn sur la ekrano.
- Ĉe la komanda prompto, eniru
grep vorto testfile
kie vorto - serĉitaj informoj, kaj testfilo - dosiernomo. Kiam vi serĉas ekster la dosierujo, precizigu la plenan vojon kiel ekzemplo/ hejmo / uzanto / dosierujo / dosiernomo
. Enirinte la komandon, premu la klavon Eniru. - Restas nur konatiĝi kun la disponeblaj ebloj. Plenaj linioj estos montritaj sur la ekrano, kaj ŝlosilaj valoroj estos reliefigitaj en ruĝo.
- Gravas ankaŭ estu minuskla minusklo, ĉar Linuksa kodado ne estas optimumigita por serĉoj sen grandaj aŭ malgrandaj signoj. Se vi volas pretervidi la difinon de registro, eniru
grep -i "vorto" testfile
. - Kiel vi povas vidi, en la sekva ekrankopio, la rezulto ŝanĝiĝis kaj alia nova linio estis aldonita.
Serĉo de Kaptila Ŝnuro
Foje uzantoj bezonas trovi ne nur la ĝustan kongruon sur la linioj, sed ankaŭ ekscii la informojn, kiuj venas post ili, ekzemple kiam raportas specifan eraron. Tiam la ĝusta decido estus apliki la atributojn. Tajpu la konzolongrep -A3 "vorto" testfile
inkluzivi en la rezulto kaj la sekvaj tri linioj post la matĉo. Vi povas skribi-A4
, tiam kvar linioj estos kaptitaj, ne estas limigoj.
Se anstataŭe-A
vi aplikas la argumenton-B + vico-kalkulo
rezulte, datumoj lokitaj antaŭ la enira punkto estas montritaj.
Argumento-C
siavice kaptas la liniojn ĉirkaŭ la ŝlosilvorto.
Sube vi povas vidi ekzemplojn de asigno de la specifitaj argumentoj. Bonvolu noti, ke vi devas esti minuskla kaj uzi duoblajn kompaniojn.
grep -B3 "word" testfile
grep -C3 "vorto" testfile
Serĉi ŝlosilvortojn komence kaj fino de linioj
La neceso difini ŝlosilvorton komence aŭ fine de linio plej ofte ekestas kiam oni laboras kun agorddosieroj, kie ĉiu linio respondecas pri unu parametro. Por vidi la ĝustan eniron en la komenco, necesas registriĝigrep "^ word" testfile
. Subskribi ^ nur respondeca pri la uzo de ĉi tiu opcio.
La serĉado de enhavo ĉe la fino de la linioj sekvas proksimume la saman principon, nur inter kompromisoj vi aldonas karakteron $, kaj la komando aspektos jene:grep "word $" testfile
.
Serĉo de nombroj
Serĉante la deziratajn valorojn, la uzanto ne ĉiam havas informojn pri la ĝusta vorto ĉeestanta en la linio. Tiam la serĉa proceduro povas fari per numeroj, kio foje tre simpligas la taskon. Nur necesas uzi la teamon en demandogrep "[0-7]" testfile
kie «[0-7]» - gamo de valoroj, kaj testfilo - la nomo de la dosiero skani.
Analizo de ĉiuj dosierujaj dosieroj
Skani ĉiujn objektojn lokitajn en unu dosierujo estas nomata rekursiva. La uzanto bezonas apliki nur unu argumenton, kiu analizas ĉiujn dosierojn en la dosierujo kaj montras la taŭgajn liniojn kaj ilian lokon. Necesas enirigrep -r "vorto" / home / uzanto / dosierujo
kie / hejmo / uzanto / dosierujo - vojo al la dosierujo por skanado.
La loko de stokado de dosieroj estos montrita en blua, kaj se vi volas akiri liniojn sen ĉi tiu informo, asignu alian argumenton por ke la komando rezultu tielgrep -h -r "vorto" + dosieruja vojo
.
Ĝusta vort-serĉado
En la komenco de la artikolo, ni jam parolis pri la kutima vort-serĉado. Tamen kun ĉi tiu metodo, pliaj kombinaĵoj aperos en la rezultoj. Ekzemple, vi trovas la vorton Uzantosed la komando ankaŭ aperos Uzanto123, PasvortoUzanto kaj aliaj matĉoj, se ekzistas. Por eviti ĉi tiun rezulton, asignu la argumenton-w
(grep -w "vorto" + dosiernomo aŭ loko
).
Ĉi tiu opcio plenumas ankaŭ se necesas serĉi plurajn ĝustajn ŝlosilvortojn samtempe. En ĉi tiu kazo, eniguegrep -w 'word1 | word2' testifilo
. Bonvolu rimarki, ke en ĉi tiu kazo grep litero estas aldonita t.e., kaj la kompromisoj estas unuopaj.
Serĉi kordojn sen specifa vorto
La utileco en demando ne nur povas trovi vortojn en dosieroj, sed ankaŭ montri liniojn, kiuj ne havas uzatan difinon. Tiam antaŭ ol eniri la ŝlosilan valoron kaj la dosiero estas aldonita-v
. Dank 'al ŝi, kiam vi aktivigas komandon, vi nur vidos la koncernajn datumojn.
Sintakso grep kolektis kelkajn pliajn argumentojn, kiuj estas mallonge priskribitaj:
-Mi
- montru nur la nomojn de dosieroj kun la serĉkriterioj;-oj
- malebligi sciigojn pri trovitaj eraroj;-n
- aperigu la linian numeron en la dosiero;-b
- montru la blokan numeron antaŭ la linio.
Nenio malhelpas vin apliki plurajn argumentojn por unu sola trovo, nur enigu ilin apartigitajn spacojn, memorante minusklajn kazojn.
Hodiaŭ ni malmuntis la teamon detale grephavebla sur Linuksaj distribuaĵoj. Ĝi estas unu el la normo kaj ofte uzata. Vi povas legi pri aliaj popularaj iloj kaj ilia sintakso en nia aparta materialo ĉe la sekva ligo.
Vidu ankaŭ: Ofte Uzataj Komandoj en la Linuksa Terminalo