Si të shfaqni linjat rrethuese rreth ndeshjeve me grep për Linux


grep është një mjet kërkimi për gjetjen e vargjeve dhe modeleve në skedarë dhe hyrje të konsolës. Si parazgjedhje, ai printon rreshtin që përmban përputhjen, por është gjithashtu e dobishme të printoni rreshtat e mëparshëm rreth një përputhjeje për kontekstin.

Printimi i kontekstit për grep matches

Kur përdorni grep, mund të shtoni flamurin e madh -C për context, i cili do të printojë N numër rreshtash para dhe pas ndeshje. Kjo mund të jetë mjaft e dobishme për të kërkuar nëpër skedarë kodi, ose çdo gjë tjetër ku duhet të lexoni se çfarë po ndodh rreth ndeshjes.

grep -C 4 "foo" file

Kjo është një komandë mjaft e zakonshme që nuk keni nevojë të specifikoni flamurin -C nëse është midis 1-9, thjesht mund të përdorni një flamur si -4 për 4 rreshta të kontekstit:

grep -4 "foo" file

Nëse ka shumë përputhje, grep do të shfaqë një ndarës midis tyre, përveç nëse ato janë mjaft afër për të qenë brenda kontekstit të njëri-tjetrit. Kur keni shumë përputhje, është gjithashtu e dobishme të shfaqni numrat e rreshtave me flamurin -n që të mund të shihni se ku ndodhet përputhja në skedar.

grep -4 -n "foo" file

Ju gjithashtu mund të specifikoni manualisht sa rreshta dëshironi para dhe pas me -B për përpara dhe -A për pas. Sigurohuni që të mos i përzieni këto me lart dhe poshtë, sepse kjo do të ishte mbrapsht.

grep -A 1 -B 3 "foo" file