Jinsi ya Kupata Kamba Maalum au Neno katika Faili na Saraka


Je! unataka kupata faili zote ambazo zina neno fulani au mfuatano wa maandishi kwenye mfumo wako wote wa Linux au saraka fulani. Nakala hii itakuongoza jinsi ya kufanya hivyo, utajifunza jinsi ya kuchimba saraka kwa kurudia kutafuta na kuorodhesha faili zote zilizo na safu fulani ya maandishi.

Njia rahisi ya kusuluhisha hili ni kwa kutumia zana ya kutafuta muundo wa grep, ni zana yenye nguvu, bora, ya kuaminika na maarufu zaidi ya safu ya amri ya kutafuta muundo na maneno kutoka kwa faili au saraka kwenye mifumo kama Unix.

Amri iliyo hapa chini itaorodhesha faili zote zilizo na mstari na maandishi \check_root, kwa kutafuta kwa kujirudia na kwa fujo kwenye saraka ya ~/bin.

$ grep -Rw ~/bin/ -e 'check_root'

Ambapo chaguo la -R linamwambia grep kusoma faili zote chini ya kila saraka, kwa kurudia, kufuata viungo vya mfano ikiwa tu ziko kwenye safu ya amri na chaguo -w inaamuru kuchagua tu zile mistari iliyo na mechi hiyo. maneno yote, na -e hutumika kubainisha kamba (muundo) wa kutafutwa.

Unapaswa kutumia amri ya sudo unapotafuta saraka au faili fulani zinazohitaji ruhusa za mizizi (isipokuwa unasimamia mfumo wako na akaunti ya mizizi).

 
$ sudo grep -Rw / -e 'check_root'	

Ili kupuuza tofauti za kesi tumia chaguo la -i kama inavyoonyeshwa:

$ grep -Riw ~/bin/ -e 'check_root'

Ikiwa ungependa kujua mstari kamili ambapo mfuatano wa maandishi upo, jumuisha chaguo la -n.

$ grep -Rinw ~/bin/ -e 'check_root'

Kwa kuchukulia kuwa kuna aina kadhaa za faili katika saraka unayotaka kutafuta, unaweza pia kubainisha aina ya faili zitakazotafutwa kwa mfano, kwa kiendelezi chao kwa kutumia chaguo la --include.

Mfano huu unaelekeza grep kuangalia faili zote za .sh pekee.

$ grep -Rnw --include=\*.sh ~/bin/ -e 'check_root'

Kwa kuongeza, inawezekana kutafuta muundo zaidi ya moja, kwa kutumia amri ifuatayo.

$ grep -Rinw ~/bin/ -e 'check_root' -e 'netstat'

Hiyo ndiyo! Ikiwa unajua hila nyingine ya mstari wa amri ili kupata kamba au neno katika faili, shiriki nasi au uulize maswali yoyote kuhusu mada hii, tumia fomu ya maoni hapa chini.